gpt4 book ai didi

java - 如何在Java中将小数字符串(a.bc)转换为int(abc)

转载 作者:行者123 更新时间:2023-12-01 06:34:56 25 4
gpt4 key购买 nike

我想用String列表进行一些计算:

1.23

4.56

7.89

为了准确起见,我希望将上面的 String 转换为 int:

123

456

789

如何做到这一点?

抱歉我的描述含糊不清。我真正需要的是无论输入是什么,int值都应该保存特定的小数:

假设我需要 4 位小数:

字符串:1;整数:10000

字符串:1.23 整数:12300

字符串:1.2345 整数:12345

最佳答案

我会去掉这些点,然后解析为 int:

int i = Integer.parseInt(str.replace(".", ""));

如果您需要始终有 3 位数字,这种方法会变得丑陋,但可行:

int i = Integer.parseInt((str.replace(".", "") + "00").replaceAll("^(...).*", "$1"));

这避免了 double 值不精确的变化,这种变化可能会在从 double 转换为 int 时由于截断而导致不正确的结果。

<小时/>

以下是不精确问题的示例:

int i = (int) (100 * Double.parseDouble("1.13")); // 112

这是因为:

double d = Double.parseDouble("1.13"); // 112.99999999999999

关于java - 如何在Java中将小数字符串(a.bc)转换为int(abc),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21952750/

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