You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何正确实现数值增加50%?Java百分比计算结果异常排查

错误原因

  • 你混淆了%符号的语义,在Java以及绝大多数编程语言中,%是取模(求余)运算符,不是日常使用的百分比符号。
  • 你的代码里50 % salary计算的是50除以salary(也就是2000)的余数,结果为50,所以最终计算结果是2000 + 50 = 2050,和预期不符。

正确实现方案

要计算薪资的50%,对应数学逻辑是薪资 × 0.5,可以选以下任意一种写法:

  1. 乘法系数写法
int salary = 2000;
// 乘以1.5等价于原薪资加50%的薪资,强转int是因为浮点运算结果是double类型
salary = (int) (salary * 1.5);
System.out.println(salary);
  1. 整数运算写法(避免浮点精度问题,更适合整数百分比场景)
int salary = 2000;
salary = salary + salary * 50 / 100;
System.out.println(salary);

两种写法运行后都会输出预期的3000。

内容的提问来源于stack exchange,提问作者Zervis _

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.02 10:03:03