gpt4 book ai didi

java - 在 Java 中处理大号

转载 作者:行者123 更新时间:2023-11-30 06:32:12 26 4
gpt4 key购买 nike

我在尝试将它们存储在 float 变量中时遇到了 java 中大量数字的问题。

import java.math.BigDecimal;
import java.text.DecimalFormat;

public class testConversion {


public static void main(String[] args) {

String s = "135598877.50";

Float f = Float.parseFloat(s);

DecimalFormat df = new DecimalFormat("#0.00");

System.out.println(f);
System.out.println(df.format(f));

}

}

OUTPUT:

1.3559888E8

135598880.00

此程序的输出是 135598880.00 而不是 135598877.50

为什么会发生这种情况,处理这种情况的最佳方法是什么?我根本不想截断/舍入。

问候,卡迪

最佳答案

float 使用 IEE 754 存储.它们无法精确存储大量数字。

正如您在问题中暗示的那样,您需要使用 BigDecimal

关于java - 在 Java 中处理大号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9029404/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com