这是我的代码:
float result=(float) ( (new Float(result1)*0.3)+(new Float(result2)*0.7));
String a=dec.format(result);
vprosvasis.setText(a);
如果我在我的应用中的其他位置使用vprosvasis
,则价格为a
。
例如,如果我的结果为12,34
,则a
将为12,3
,因此vprosvasis
如果我写12,3
将为float genikosvathmos = ((new Float(vprosvasis.getText().toString()) +
new Float(vprosvasis2.getText().toString()) +
new Float(vprosvasis3.getText().toString()) +
new Float(vprosvasis4.getText().toString()) +
new Float(vprosvasis5.getText().toString()) +
new Float(vprosvasis6.getText().toString())) / 6);
{{1}}
答案 0 :(得分:1)
建议使用原语(特别是double
)而不是Object包装器(除非你有一些需要在这里没有显示)。
然后查看Double
javadoc,尤其是静态实用程序方法:
http://download.oracle.com/javase/6/docs/api/java/lang/Double.html
double myDouble = Double.parseDouble(myString);
String s = Double.toString(myDouble);
答案 1 :(得分:1)
DecimalFormat
的目的是以特定于语言环境的方式将数字格式化为文本。 (它还可以用于将特定于语言环境的数字格式解析为合适的Number
类型。)例如,在美式英语语言环境中,句点('.'
)用作小数点,而不是逗号(','
)。
请务必注意,String
生成的DecimalFormat
很可能与Float(String)
构造函数所需的格式不兼容。 Float
使用的字符串格式不是特定于语言环境的;它是一种固定格式,与Java源代码中float
文字的Java语言规范指定的格式相同。
如果您正在使用资金进行计算,请不要使用float
或double
等浮点类型。请改用java.math.BigDecimal
的实例。此类型执行精确算术,并且在执行舍入时,您可以控制舍入以符合您的会计实践。
答案 2 :(得分:1)
您不包含声明dec
的代码或其操作的任何代码,但是从上下文中它似乎是the DecimalFormat
class的实例。如果是这样,则会result
,float
,并执行以下操作:
long
NumberFormat
继承的method format(double number)
来获取String
result
代表
a