从字符串创建浮点数

Posted

技术标签:

【中文标题】从字符串创建浮点数【英文标题】:Create float from String 【发布时间】:2014-06-12 06:00:47 【问题描述】:

我有一个正则表达式\d+(?:[.,]\d+,它匹配带有点或逗号的十进制字符串,例如123.123123,123,因此该值是有效的。

现在我的问题是从 123.123123,123 的字符串中生成一个浮点值

【问题讨论】:

Float#parseFloat()。不知道它是否适用于逗号... 我建议你不要使用Floatfloat,如果可以避免的话,尝试使用double 【参考方案1】:

你可以使用下面的代码。

String val = "123.123 ";
float f = Float.parseFloat(val);

String val = "123,123 "; // if other char(like comma) come, you can also write a regex to replace those set of char
val = val.replace(",",".");// assuming comma is used for decimals
float f = Float.parseFloat(val);

【讨论】:

嗯,想知道这里的逗号是用于千位分隔符还是小数位... 我几乎可以肯定它用于小数。

以上是关于从字符串创建浮点数的主要内容,如果未能解决你的问题,请参考以下文章

如何在python中将23位浮点数从字符串转换为浮点数并返回?

如何从 LLVM IR 打印浮点数?

Java中怎么把浮点数转变成整数只保留整数部分

无法将字符串转换为 pandas 中的浮点数(ValueError)

将标签从字符串转换为浮点数

如何从字符串中提取浮点数[重复]