【问题标题】:working with decimals in java, converting large numbers into smaller ones with a decimal point在java中使用小数,将大数转换为带小数点的小数
【发布时间】:2012-02-21 14:57:20
【问题描述】:

不幸的是,我从来不擅长数学,但我想知道如何在 java 中将 5800 之类的数字转换为 5.8,或者将 43400 之类的数字转换为 43.4?

【问题讨论】:

  • 从右到左,数零的个数,然后点左移一步?
  • “变成”是什么意思?你想达到什么目的?
  • 输入的一般格式是什么?您期望的格式输出是什么? XX.X 还是 X.XX ?
  • 这就解释了他的问号。
  • 啊,数不过三。我的错。

标签: java android decimal


【解决方案1】:

这里有一个方法: 双 d = 5800; 双c; c = d/1000; 双打确实保留小数。在这里查看更多信息:http://docs.oracle.com/javase/1.4.2/docs/api/java/lang/Double.html

【讨论】:

  • 双精度浮点值。当您将它们打印出来时,它们只会变成小数......
【解决方案2】:

看到这个

NumberFormat nf = NumberFormat.getInstance();
        nf.setMinimumFractionDigits(1);
        nf.setMaximumFractionDigits(2);

http://www.kodejava.org/examples/102.html

【讨论】:

    【解决方案3】:

    使用浮点数或双精度数。

    float decF = (float)5800/1000;
    //or
    double decD = (double)43400/1000
    

    【讨论】:

    • 这会产生 5.0 和 43.0,因为您正在进行整数除法。
    • 哦,我的错,忘记投射了。为什么是100?正如问题所说,肯定是 5800/1000 = 5.8?
    • 不,你是对的,我数不过三。 1000是对的。 8-(
    猜你喜欢
    • 2022-09-30
    • 2019-01-04
    • 1970-01-01
    • 1970-01-01
    • 2021-11-05
    • 2012-02-05
    • 1970-01-01
    • 1970-01-01
    • 2015-11-21
    相关资源
    最近更新 更多