jjzjj

decimalformat

全部标签

java - 格式化双Android

我想转例如5999.635554到5999,63。我在下面使用了DecimalFormat方法:publicstaticStringdecimalDoubleForm(doublevalue){DecimalFormatdf=newDecimalFormat("#,###,###.00");Stringformatted_value=df.format(value).replaceAll("\\.",",");returnformatted_value;}然而,当我使用它时,它是Util.decimalDoubleForm(value);例如-4000.4343我得到以下-4,000,

java - 在 Android 中使用十进制格式四舍五入

我想在我的DecimalFormat上将舍入模式设置为HALF_UP,但eclipse告诉我setRoundingMode()在DecimalFormat类上不可用。我的项目属性(以及整个Eclipse属性)使用的是1.6编译器。developer.android.com网站说我可以使用Java5或6,所以我不确定问题出在哪里。importjava.math.RoundingMode;importjava.text.DecimalFormat;completedValueFormatter=NumberFormat.getNumberInstance();DecimalFormatco

android - BigDecimal 在带有本地化的 Android 4.0.3 中给出 NumberFormatException

我正在使用波斯语(locale-“fa”)和普什图语(locale-“ps”)语言在我的应用程序中进行本地化。当我尝试使用DecimalForamt转换BigDecimal中的double值时,它会在4.0中给出NumberFormatException.3波斯语。以下是我获取两位小数的代码:publicstaticStringroundTwoDecimals(doubled){System.out.println("===================Amountindouble"+d);DecimalFormattwoDForm=newDecimalFormat("#######

java格式化数字 NumberFormat及DecimalFormat

一、JavaAPI官方描述1、NumberFormatNumberFormat帮助您格式化和解析任何区域设置的数字。您的代码可以完全独立于小数点,千位分隔符的区域设置约定,甚至是使用的特定十进制数字,或者数字格式是否为十进制。2、DecimalFormatDecimalFormat是NumberFormat十进制数字格式的具体子类。它具有多种功能,旨在解析和格式化任何语言环境中的数字,包括支持西方,阿拉伯语和印度语数字。它还支持不同类型的数字,包括整数(123),定点数(123.4),科学记数法(1.23E4),百分比(12%)和货币金额(123美元)。所有这些都可以本地化。二、NumberF

java - 使用 DecimalFormat 格式化 Double 以在没有科学记数法的情况下打印

我一直在从传感器读数中读取时间戳值,但由于它们是以纳秒为单位提供的,所以我想我应该将它们转换为两倍并进行转换。结果数字是一个17位数字值,加上分隔符。尝试直接打印它会产生科学记数法,这是我不想要的,所以我使用DecimalFormat类将其输出为4位小数的预期值。问题是,即使调试器显示了17个十进制数字,即使在“doubleValue()”调用之后,输出字符串也显示了15个数字。代码:...Doubletimestamp=(newDate().getTime())+//Example:1.3552299670232847E12((event.timestamp-System.nanoT

android - (android) decimalformat,在使用 "#.##"格式化时使用逗号代替句号

我正在开发一个Android应用程序,我想在其中将我的双数格式化为#.##,这是我使用以下代码完成的。DoubleBMI=((fWeight)/(dHeight*dHeight));DecimalFormatdf=newDecimalFormat("0.00");StringsBMI=df.format(BMI);当硬件语言设置为英语(默认语言)时进行测试时,它工作正常,例如,如果BMI为2497.227216676656,它将sBMI格式化为2497.23,但如果语言选择为法语,它将其格式化为2497,23.使用逗号代替DOT,这导致我的应用程序崩溃!!!这是什么原因?

android - Android 中的小数点或小数逗号

如果语言集使用十进制逗号或小数点,有没有一种简单的方法可以回读? 最佳答案 编辑:根据@Algar的建议进行更新;你可以直接使用:charseparatorChar=DecimalFormatSymbols.getInstance().getDecimalSeparator();因为它将始终返回DecimalFormatSymbols的实例。NumberFormatnf=NumberFormat.getInstance();if(nfinstanceofDecimalFormat){DecimalFormatSymbolssym=(

java - 在 Java 中按 3 组用空格拆分数字

有什么方法可以在java中拆分双数,以便所有3位数字的组都用空格分隔,逗号出现后只有2位数字?用逗号分隔它们很容易:DecimalFormatdf=newDecimalFormat("###,###.00");df.format(number);这样235235.234就变成了234,234.23我需要的是234234.23我该怎么做? 最佳答案 我相信您的格式字符串中的逗号不是真正的逗号-它只是您正在使用的DecimalFormatSymbols中的分组符号。试试这个://TODO:Considerspecifyingalocal

java - 在不修改小数的情况下将逗号(分组分隔符)添加到数字?

我正在尝试格式化字符串以在3位数字组之间添加逗号如:1200.20>>1,200.2015000>>15,000我正在尝试弄清楚如何使用DecimalFormat来实现这一点,到目前为止,我一直在使用我自己的脚本,该脚本似乎过于复杂。我不知道该怎么做,使用#只是隐藏尾随零并使用0将它们添加到数字中。这就是我现在正在尝试的:DecimalFormatdf=newDecimalFormat("###,###.####",newDecimalFormatSymbols(Locale.US));resultStr=df.format(Double.valueOf(resultStr));我确信

java - 使用 DecimalFormat 时如何始终显示小数部分?

Floatsum=newFloat(300);//alwayssomehowcalculatedDecimalFormatdf=newDecimalFormat("#.#");Strings=df.format(sum/3);//prints100,Iwant100.0s=df.format(301/3);//pritns100.3whichiscorrect结果应始终格式化为小数点后一位,如何做到这一点? 最佳答案 改变DecimalFormatdf=newDecimalFormat("#.#");到DecimalFormatdf