我会解释:
我String
在Java中有一个:
String numero = "59.2348837";
这是我尝试做的:
String.format( "%.2f", numero)
我试图得到结果:
String resultado = "59.23";
但它给我一个错误,因为number是String
. 当我执行string format
.
我怎样才能将其格式化String
为小数点后 2 位并且结果仍然是 a String
?
我会解释:
我String
在Java中有一个:
String numero = "59.2348837";
这是我尝试做的:
String.format( "%.2f", numero)
我试图得到结果:
String resultado = "59.23";
但它给我一个错误,因为number是String
. 当我执行string format
.
我怎样才能将其格式化String
为小数点后 2 位并且结果仍然是 a String
?
它给你一个错误“数字是字符串”,因为你需要将字符串转换为数值,你可以通过转换
String
aDouble
或Float
throughDouble.parseDouble(numero)
或 through的值来做到这一点Float.parseFloat(numero)
:有一个类似的问题
显示带两位小数的数字
但在这种情况下,您可以将 String 的值转换为 Double by
Double.parseDouble(numero)
,例如:结果将具有以下值:
您甚至可以使用上述方法来获取所需的值:
你这样称呼它:
获取结果值:
这是因为格式
%.2f
允许浮动。要格式化它们,您必须将其转换string
为float
然后格式化:您遇到的问题是因为在格式字符串中,您告诉该方法
String.format()
它将作为第一个参数接收的是一个浮点数,并且当您将它传递给它时,String
它应该抛出类似于以下的异常:要解决这个问题,您只需将字符串转换为浮点数(浮点数或双精度数)并将该数字传递给方法。这就是它为您工作的方式:
如果您只需要 2 个小数,您还可以创建一个子字符串,这样您就可以保存从 String 到 double 以及从 double 到 String 的双重解析
我会给你一个简单的例子: