数量的 Java百分比

有没有办法计算(例如)120 的 50 %?我试过:

有没有办法计算(例如)120 的 50 %?我试过:

int k = (int)(120 / 100)*50;

但它不起作用。

54
int k = (int)(120 / 100)*50;

上述不起作用,因为您正在执行一个整数除法表达式(120 / 100),其结果是整数 1,然后将该结果乘以 50,给出 50 的最终结果。

如果要计算 120 的 50 %,请使用:

int k = (int)(120*(50.0f/100.0f));

更一般地:

int k = (int)(value*(percentage/100.0f));
5
int k = (int)(120*50.0/100.0);
4

如果您想要精确的数字和一致的结果,请不要使用浮点基元类型,而是使用 BigDecimal。

你的代码的问题是(120 / 100)的结果是 1,因为 120 / 100 = 1.2 在现实中,但根据 java,int / int 始终是一个 int。

2

我建议使用 BigDecimal,而不是 float 或 double。除以 100 在 BigDecimal 中总是精确的,但可能导致 float 或 double 中的舍入错误。

这意味着,例如,使用 x 的 BigDecimal 50 % 加上 x 的 30 % 加上 x 的 20 % 将始终等于 x。

本站系公益性非盈利分享网址,本文来自用户投稿,不代表码文网立场,如若转载,请注明出处

(421)
Java中的蛇游戏-蛇离开空间
上一篇
如何用颤振将一个容器夹在另一个容器上 (lofg)
下一篇

相关推荐

  • java语法手册:Java 8 新特性

    Java语法手册是一份指导文档,用于提供有关Java编程语言的语法规则和示例代码。它包括Java语言的基础知识,如变量,数据类型,控制结构,函数,类,接口,异常处理,注释,泛型,集合,IO流等。它还提供了有关Java标准库,如java.util,java.io,java.lang等的信息。…

    2023-04-23 09:52:54
    0 52 43
  • java double转long:如何使用Java将Double转换为Long

    将double类型转换为long类型,可以使用java.lang.Math的round()方法。该方法将参数四舍五入为最接近的long值。…

    2023-04-25 14:05:17
    0 91 97
  • java开发笔记本配置从入门到精通

    示例示例基本配置:• 操作系统:Windows 或 Mac OS X…

    2023-11-22 04:42:27
    0 41 45
  • java转置矩阵:Java实现的矩阵转置功能

    转置矩阵是指将一个矩阵的行向量和列向量互换,即将原来的m行n列变成n行m列。Java代码如下:…

    2023-04-26 05:37:19
    0 38 80
  • java 参数加密:使用Java实现的安全参数加密

    示例示例Java 参数加密是指在 Java 中通过使用加密算法来加密参数值,以防止参数被篡改或泄露。代码示例:…

    2023-06-15 11:25:06
    0 81 61
  • java rsa私钥加密:使用RSA私钥加密保护数据安全

    Java RSA私钥加密是一种非对称加密算法,它使用一对公钥和私钥,其中公钥用于加密数据,而私钥用于解密数据。下面提供一个使用Java实现RSA私钥加密的代码示例:…

    2024-10-10 03:33:34
    0 29 34
  • java可以做硬件开发吗实现技术革新的利器

    示例示例答: 不能。Java是一种面向对象的跨平台编程语言,它本身不支持硬件开发,也不能直接操作硬件设备。例如,Java不能直接操作CPU或内存,也不能直接操作串口、I2C或SPI等硬件接口。Java不能用于硬件开发。…

    2023-04-26 04:54:53
    0 76 84
  • java开发软件培训多少钱:java开发软件培训价格攻略

    Java开发软件培训的价格因地区、机构、课程内容而异,一般在几百元到几千元不等。例如,深圳市某软件培训机构提供的Java开发软件培训课程,课程费用为1580元/人。…

    2023-05-25 16:13:41
    0 55 60

发表评论

登录 后才能评论

评论列表(54条)