Integer.parseInt("-1000"); 返回-1000作为输出.
Integer.parseInt("+500"); 抛出一个例外.
如何在它们之前用"+"符号识别正数而不必修剪符号?
dac*_*cwe 10
尝试DecimalFormat使用模式"+#;-#".它将处理显式签名解析.模式细分:
;)是正面模式,它必须以+char 开头-char 开头例:
DecimalFormat df = new DecimalFormat("+#;-#");
System.out.println(df.parse("+500"));
System.out.println(df.parse("-500"));
Run Code Online (Sandbox Code Playgroud)
输出:
500
-500
Run Code Online (Sandbox Code Playgroud)
该方法的行为与文档中描述的相同:
字符串中的字符必须全部为十进制数字,除了第一个字符可以是ASCII减号' - '('\ u002D')以指示负值.
如果+要正确执行解析,则需要跳过第一个字符:
if (s.charAt(0) == '+') s = s.substring(1);
int val= Integer.parseInt(s);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
6246 次 |
| 最近记录: |