DecimalFormat.Parse(String, ParsePosition) 方法

定义

分析字符串中的文本以生成一个 Number

[Android.Runtime.Register("parse", "(Ljava/lang/String;Ljava/text/ParsePosition;)Ljava/lang/Number;", "GetParse_Ljava_lang_String_Ljava_text_ParsePosition_Handler")]
public override Java.Lang.Number? Parse(string? text, Java.Text.ParsePosition? pos);
[<Android.Runtime.Register("parse", "(Ljava/lang/String;Ljava/text/ParsePosition;)Ljava/lang/Number;", "GetParse_Ljava_lang_String_Ljava_text_ParsePosition_Handler")>]
override this.Parse : string * Java.Text.ParsePosition -> Java.Lang.Number

参数

text
String

要分析的字符串

pos
ParsePosition

包含 ParsePosition 索引和错误索引信息的对象,如上所述。

返回

已分析的值,或者 null 分析失败

属性

注解

分析字符串中的文本以生成一个 Number

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

返回的子类取决于要分析的 #isParseBigDecimal 字符串的值。 <ul>li 如果为 false(默认值),则大多数整数值都作为Long对象返回,无论它们是如何写入的:"17""17.000"者都解析为 Long(17)isParseBigDecimal()>< 无法适应的值 Long 将返回为 Doubles。 这包括分数部分、无限值和值 -0.0 的值 NaNDecimalFormat >不会<</em> 根据源字符串中的小数分隔符的存在来决定返回还是Long返回Double小数点。 这样做可以防止溢出双精度型的整数,例如 "-9,223,372,036,854,775,808.00",准确分析。

调用方可以使用Number方法doubleValuelongValue等获取所需的类型。 <li>如果 isParseBigDecimal() 为 true,则值将作为 BigDecimal 对象返回。 这些值是用与区域设置无关的格式为相应字符串构造 java.math.BigDecimal#BigDecimal(String) 的值。 特殊情况为负数和正无穷大,NaN 作为 Double 包含相应 Double 常量值的实例返回。 </ul>

DecimalFormat 按定义 Character.digit()分析表示十进制数字的所有 Unicode 字符。 此外, DecimalFormat 还识别为从对象中 DecimalFormatSymbols 定义的本地化零位开始的十个连续字符的位数。

Java文档java.text.DecimalFormat.parse(java.lang.String, java.text.ParsePosition)

本页的某些部分是根据 创建和共享的工作进行的修改,并根据 许可证中所述的条款使用。

适用于