decimalformat(DecimalFormat String 保留2位)

format.format(abc);//返回的本来就是StringpublicNumberparse(Stringtext,ParsePositionpos)分析字符串中的文本,以生成一个Number。该方法试图分析从pos所给定的索引处开始的文本。如果分析成功,则将pos的索引更新为所用最后一个字符后面的索引(不一定分析直到字符串末尾的所有

format.format(abc);//返回的本来就是String

public Number parse(String text,

ParsePosition pos)分析字符串中的文本,以生成一个 Number。

该方法试图分析从 pos所给定的索引处开始的文本。如果分析成功,则将 pos的索引更新为所用最后一个字符后面的索引(不一定分析直到字符串末尾的所有字符),并返回分析后的数。可以使用更新后的 pos指示下一次调用此方法的开始点。如果发生错误,则不更改 pos的索引,并将 pos的错误索引设置为发生错误处的字符索引,并且返回 null。

返回的子类取决于 isParseBigDecimal()的值以及所分析的字符串。

如果 isParseBigDecimal()为 false(默认值),则以 Long对象返回多数整数值,而不管其写入方式如何:"17"和"17.000"都分析成 Long(17)。不符合 Long的值则以 Double的形式返回。这包括有小数部分的值、无穷大的值、NaN和值-0.0。DecimalFormat不根据源字符串中是否有小数分隔符来决定返回 Double还是 Long值。这样做会无法准确地分析导致某个 double尾数(如"-9,223,372,036,854,775,808.00")溢出的整数。

调用方可能使用 Number的方法 doubleValue、longValue等来获得所需类型的数值。

如果 isParseBigDecimal()为 true,则以 BigDecimal对象的形式返回值。这些值是由 BigDecimal.BigDecimal(String)以和语言环境无关的格式为相应字符串所构造的那些值。特殊的情况是正负无穷大和 NaN值,它们以 Double实例的形式返回,其中保存了相应的 Double常量值。

DecimalFormat分析所有由 Character.digit()所定义的、表示小数数字的 Unicode字符。另外,DecimalFormat也将 DecimalFormatSymbols对象中所定义的、从已本地化的阿拉伯数字 0开始的 10个连续字符识别为阿拉伯数字。

pos-具有索引和上述错误索引信息的 ParsePosition对象。

分析得到的值,如果分析失败,则为 null

将数字进行格式化,比如取2位小数,这是最常见的。Java提供 DecimalFormat类,帮你用最快的速度将数字格式化需要的样子。下面是一个例子:

importjava.text.DecimalFormat;

publicstaticvoidmain(String[]args){

System.out.println(newDecimalFormat("0").format(pi));//3

System.out.println(newDecimalFormat("0.00").format(pi));//3.14

//取两位整数和三位小数,整数不足部分以0填补。

System.out.println(new DecimalFormat("00.000").format(pi));// 03.142

System.out.println(newDecimalFormat("#").format(pi));//3

//以百分比方式计数,并取两位小数

System.out.println(new DecimalFormat("#.##%").format(pi));//314.16%

//显示为科学计数法,并取五位小数

System.out.println(newDecimalFormat("#.#####E0").format(c));//2.99792E8

//显示为两位整数的科学计数法,并取四位小数

System.out.println(newDecimalFormat("00.####E0").format(c));//29.9792E7

System.out.println(newDecimalFormat(",###").format(c));//299,792,458

System.out.println(newDecimalFormat("光速大小为每秒,###米。").format(c));

DecimalFormat类主要靠#和 0两种占位符号来指定数字长度。0表示如果位数不足则以 0填充,#表示只要有可能就把数字拉上这个位置。上面的例子包含了差不多所有的基本用法.

本文来自投稿,不代表本站立场,如若转载,请注明出处:https://www.7z3g.cn/showinfo-1-5756-0.html

(137)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫

如果您有好的建议,请告诉我们。

上一篇 2023-11-25
下一篇 2023-11-25

decimalformat(DecimalFormat String 保留2位)相关推荐

    22

联系我们

400-800-8888

在线咨询: QQ交谈

邮件:admin@example.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信
您关注的是软件之家《decimalformat(DecimalFormat String 保留2位)》话题,敬请收藏。