DecimalFormat.Parse(String, ParsePosition) 方法
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
分析字符串中的文本以生成一个 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 的值 NaN。
DecimalFormat
>不会<</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)。
本页的某些部分是根据 创建和共享的工作进行的修改,并根据 许可证中所述的条款使用。