Java 四舍五入双值 取整问题

Java 四舍五入双值 取整问题,java,Java,比如说 598.59 ya 591.45转换为600 541.0将转换为550 541.59改为550 只需检查最后2位,忽略 十进制值。如果最后2位在 在11-19之间,如果 21-29然后将转换为30,依此类推。 那么我能为此做些什么呢。 我需要你的帮助 提前谢谢……我只是在猜你的意思,但是假设你想四舍五入到最近的n,你可以做以下事情 double d = Math.round(d / n) * n; e、 g.如果n=50 double d = Math.round(d / 50) *

比如说

  • 598.59 ya 591.45转换为600
  • 541.0将转换为550
  • 541.59改为550

    只需检查最后2位,忽略 十进制值。如果最后2位在 在11-19之间,如果 21-29然后将转换为30,依此类推。

  • 那么我能为此做些什么呢。 我需要你的帮助


    提前谢谢……

    我只是在猜你的意思,但是假设你想四舍五入到最近的n,你可以做以下事情

    double d = Math.round(d / n) * n;
    
    e、 g.如果n=50

    double d = Math.round(d / 50) * 50;
    

    我只是在猜测你的意思,但是假设你想四舍五入到最接近的n,你可以做下面的事情

    double d = Math.round(d / n) * n;
    
    e、 g.如果n=50

    double d = Math.round(d / 50) * 50;
    

    好的,你可以上数学课。像这样:

    Math.floor(myNumber); //541.59 -> 541, returns double
    

    但在这种情况下,您必须定义舍入的“限制”。这门课的目的是什么?

    好的,你可以上数学课。像这样:

    Math.floor(myNumber); //541.59 -> 541, returns double
    
    但在这种情况下,您必须定义舍入的“限制”。这样做的目的是什么?

    使用[]:
    -
    静态双圆(双x,整数刻度)

    -
    静态双圆(双x,整数刻度,整数圆整方法)

    MathUtils.round(598.59, -1); // 600.0
    MathUtils.round(591.45, -1, BigDecimal.ROUND_CEILING); // 600.0
    MathUtils.round(541.0, -1, BigDecimal.ROUND_CEILING); // 550.0
    MathUtils.round(541.59, -1, BigDecimal.ROUND_CEILING); // 550.0
    

    有关更新的信息

    只需检查最后两位数字,忽略 十进制值。如果最后2位在 在11-19之间,如果 21-29将转化为30,如此类推 在

    强制转换为双精度以确保使用
    轮(双x,…)
    ,而不是
    轮(浮动x,…)

    使用[]:
    -
    静态双圆(双x,整数刻度)

    -
    静态双圆(双x,整数刻度,整数圆整方法)

    MathUtils.round(598.59, -1); // 600.0
    MathUtils.round(591.45, -1, BigDecimal.ROUND_CEILING); // 600.0
    MathUtils.round(541.0, -1, BigDecimal.ROUND_CEILING); // 550.0
    MathUtils.round(541.59, -1, BigDecimal.ROUND_CEILING); // 550.0
    

    有关更新的信息

    只需检查最后两位数字,忽略 十进制值。如果最后2位在 在11-19之间,如果 21-29将转化为30,如此类推 在

    强制转换为双精度,以确保使用了
    轮(双精度x,…)
    ,而不是
    轮(浮点x,…)

    public class RoundToTwodecimalPlaces {
    
        public static double roundTo2Places(double value) {
            assert value >= Long.MIN_VALUE / 100 && value <= Long.MAX_VALUE / 100;
            long digits = (long) (value < 0 ? value * 100 - 0.5 : value * 100 + 0.5);
            return (double) digits / 100;
        }
    
        private RoundToTwodecimalPlaces() {
        }
    }
    
    public class RoundToTwodecimalPlaces{
    公共静态双圆形2个位置(双值){
    例如,断言值>=Long.MIN\u值/100&&value

    public class RoundToTwodecimalPlaces {
    
        public static double roundTo2Places(double value) {
            assert value >= Long.MIN_VALUE / 100 && value <= Long.MAX_VALUE / 100;
            long digits = (long) (value < 0 ? value * 100 - 0.5 : value * 100 + 0.5);
            return (double) digits / 100;
        }
    
        private RoundToTwodecimalPlaces() {
        }
    }
    
    public class RoundToTwodecimalPlaces{
    公共静态双圆形2个位置(双值){
    断言值>=Long.MIN\u值/100&&value
    至于我:
    1.除以10

    59.859
    54.10
    54.159
    
    2.四舍五入至最接近的整数,3.乘以10。 收到 600 550 550

    至于我: 1.除以10

    59.859
    54.10
    54.159
    
    2.四舍五入至最接近的整数,3.乘以10。 收到 600 550
    550

    公共类圆形停车场{

    public static double roundTo2Places(double value) {
        assert value >= Long.MIN_VALUE / 100 && value <= Long.MAX_VALUE / 100;
        long digits = (long) (value < 0 ? value * 100 - 0.5 : value * 100 + 0.5);
        return (double) digits / 100;
    }
    
    private RoundToTwodecimalPlaces() {
    }
    
    公共静态双舍入2位(双值){
    
    assert value>=Long.MIN\u value/100&&value公共类RoundToTwodecimalPlaces{

    public static double roundTo2Places(double value) {
        assert value >= Long.MIN_VALUE / 100 && value <= Long.MAX_VALUE / 100;
        long digits = (long) (value < 0 ? value * 100 - 0.5 : value * 100 + 0.5);
        return (double) digits / 100;
    }
    
    private RoundToTwodecimalPlaces() {
    }
    
    公共静态双舍入2位(双值){
    
    assert value>=Long.MIN\u value/100&&value您尝试了什么?您是否查阅了标准Java API以找到实现此目的的方法?我在这里看不到任何模式。将数字除以100,再加上0.99,然后截断。(如果您想将其四舍五入到下一个10)你尝试过什么?你看过标准的Java API了吗?我在这里没有看到一个模式。将数字除以100,加上0.99,然后截断。(如果你想把数字四舍五入到下一个10)谢谢,伙计…但是我需要不同的。比如541.59而不是我使用544.0 ya 548.5689,现在这些将被转换550…只需检查最后两个数字关于最后两个数字它将被转换。谢谢,伙计…但是我需要不同的。比如541.59而不是我使用544.0 ya 548.5689,现在这些将被转换550…只需检查最后两个数字关于它将转换的最后两位数字。此答案似乎与此重复。此答案似乎与此重复。