什么是十进制格式呢?

时间:2011-04-13 17:45:05

标签: java

这是我的代码:

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}}

3 个答案:

答案 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语言规范指定的格式相同。

如果您正在使用资金进行计算,请不要使用floatdouble等浮点类型。请改用java.math.BigDecimal的实例。此类型执行精确算术,并且在执行舍入时,您可以控制舍入以符合您的会计实践。

答案 2 :(得分:1)

像丹尼尔一样,我不太确定你要从这篇文章中得到什么。但我会以面值回答你在标题中提出的问题。

您不包含声明dec的代码或其操作的任何代码,但是从上下文中它似乎是the DecimalFormat class的实例。如果是这样,则会resultfloat,并执行以下操作:

  1. 将其扩展为long
  2. 使用从NumberFormat继承的method format(double number)来获取String
  3. result代表
  4. 将结果存储在a