当前位置: 首页 > 知识库问答 >
问题:

如果值是1.01比1,java中如果1.1那么2怎么四舍五入?

柯乐池
2023-03-14

在java中

如何舍入一个值(float、bigdecimal或double ),其模式如下:

(1) 如果值为 1.0,即如果小数以零开头,则不应四舍五入,值应为整数。即,在本例中为“1”。

(2)如果值为1.1,即,如果小数位以大于0的数字开始,则整个数字应四舍五入到下一个数字。即,如果1.1,那么它应该是2。

共有3个答案

穆季萌
2023-03-14

见https://docs . Oracle . com/javase/8/docs/API/Java/math/rounding mode . html我相信< code>RoundingMode。天花板是你想要的。< code>BigDecimal允许您控制舍入:

new BigDecimal(1.0).setScale(0, RoundingMode.CEILING).doubleValue(); => 1.0
new BigDecimal(1.1).setScale(0, RoundingMode.CEILING).doubleValue(); => 2.0

Guava包含一些用于舍入浮点数的实用程序类,并直接使用<code>RoundingMode</code>s进行加倍。

DoubleMath.roundToInt(1.0, RoundingMode.CEILING); => 1
DoubleMath.roundToInt(1.1, RoundingMode.CEILING); => 2

编辑:哎呀。我错过了四舍五入 1.01 应导致 1 的部分。其他建议的方法更正确。

仉嘉泽
2023-03-14

尝试这个作为开始(对于浮动和双)

int rounded = Math.round(x 0.4);

凌经赋
2023-03-14

所以你想把0.1以下的任何东西四舍五入到0,0.1或更多的东西四舍五入到1.0

 long round = Math.round(x + 0.4);
 类似资料:
  • 问题内容: 因此,我有一些代码可以通过将“理想”屏幕的大小除以用户屏幕的大小来将图形缩放到用户屏幕的大小。她是我在做什么的代码片段: 现在,如果我在计算机上(屏幕分辨率为1440x900的Mac Book pro)运行此程序,结果是“ scaleFactorWidth”设置为2.0,而“ scaleFactorHeight”设置为2.0,这是预期的,因为我的屏幕正好是一半目标的大小。但是,如果在具

  • 做对了"。事实证明,可以用来表示任何类似ListT-dod-right的东西。引用加布里埃尔·冈萨雷斯的话: 请注意,您可以仅使用变压器依赖项构建任何(不仅仅是管道中的那个)。例如,下面是如何实现: 这将在那里键入check作为any,并为所有人做正确的事情。 所以我的问题是:对于管道的消费者部分,是否有一个对偶到和到? 要求: 从不使用,只返回(或从不返回),但使用的管道可以表示为“双重到列表”

  • 问题内容: 我想将整数四舍五入到Java中最接近的1000。 因此,例如: 13,623发至13,000 18,999轮到18,000 等等 问题答案: 只需除以1000,就可以丢掉您不感兴趣的数字,然后乘以1000: 或者,您也可以尝试:

  • 问题内容: 我怎么总是将a舍入为一个,而不舍入它。我知道,但是我希望它总是四舍五入。因此,如果为,则四舍五入为4。 问题答案: 您可以使用方法。 请参阅JavaDoc链接:https ://docs.oracle.com/javase/10/docs/api/java/lang/Math.html#ceil(double ) 从文档: 细胞 返回大于或等于自变量且等于数学整数的最小(最接近负无穷大

  • 假设我有一个简单的浮点数数组 [0.315023,1.0,0.12345,0121111] 并称之为arr1。 我需要把这个数组变成这样: [0.3150, 1.0000, 0.1234, 0.1211] *请注意,1.0 现在是 1.0000,0.3150 末尾为 0 我尝试使用for循环遍历数组,并将数字四舍五入如下: // i代表arr1中的一个数字;我们来想象一下,用“newNum”替换a

  • 问题内容: 我想将双精度值四舍五入到2个小数点。 例如:我有双d = 2;结果应为result = 2.00 问题答案: 内部表示形式在2和2.00之间没有差异。您可以使用四舍五入的值到最接近的整数- 使该轮为2位小数,你可以乘100,圆形,再除以100,但你不应该期望的结果是 准确 2DPS,由于二进制浮点运算的性质。 如果您只想将值 格式化 为两位小数,请查看-如果您对 计算中 的小数位数感兴