Android如何将十进制数字格式化为两个

时间:2014-07-30 12:50:31

标签: android decimalformat

我必须将此数字设为0.6044610142707825,我想将其格式化为600。 我尝试了以下

new DecimalFormat("###.#")
    .format(temp)

这确实返回0.6。 请帮我找到正确的格式。

3 个答案:

答案 0 :(得分:1)

这可以解决你的问题...

temp = 0.6044610142707825;

new DecimalFormat("###")
    .format(temp*1000); //converts to 604.4610142707825 and then to 604;

答案 1 :(得分:0)

您可以使用

String.format("%.2f", d),您的小数将自动舍入。点运算符后的2位数 其中d是你的价值

答案 2 :(得分:0)

尝试 decimalformat

// Fetch only the first rounded off digit after decimal.
String abc = new DecimalFormat("0.#").format(0.604461014);
// Converting to integer and multiply 1000
int myFinalNo =  (int) ( Double.parseDouble(abc) * 1000);
// Returns output 600

注意:

String abc = new DecimalFormat("0.#").format(0.674461014);
int myFinalNo =  (int) ( Double.parseDouble(abc) * 1000);
// Returns output 700

如果您不想转弯,请使用:

DecimalFormat df = new DecimalFormat("0.#");
df.setRoundingMode(RoundingMode.DOWN);
String abc = df.format(0.684461014);
int myFinalNo = (int) ( Double.parseDouble(abc) * 1000);
System.out.println ("abc="+abc + "** myFinalNo="+myFinalNo);