jun*_*lop 1 java regex apache-commons guava
今天是个好日子。
我有一个字母数字值。例如:“-00000050.43”。我需要将其转换为 BigDecimal(首选,因为它是 $ 的数量)或 Float 或 Double(取决于“.”后的位数。通常有两位数),例如“-50.43”。因此,我有 3 种不同的正字母数字值解决方案。请参阅下面的内容:
正则表达式
"00000050.43".replaceFirst("^0+(?!$)", "")
Run Code Online (Sandbox Code Playgroud)
阿帕奇共享区
StringUtils.stripStart("00000050.43","0");
Run Code Online (Sandbox Code Playgroud)
和谷歌番石榴
CharMatcher.is('0').trimLeadingFrom("00000050.43")
Run Code Online (Sandbox Code Playgroud)
它不适用于负值。不幸的是,我一开始就不知道如何处理“-”。多谢你们!祝你有美好的一天。
如果要将字母数字字符串值转换为BigDecimal
,则无需对此字符串执行任何操作。
BigDecimal
有一个构造函数,它将string
字母数字值作为参数。
String val = "-0000054.1";
BigDecimal bd = new BigDecimal(val);
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
236 次 |
最近记录: |