我在哪里可以得到一个智能号分析器,可以读取,比方说一个数字串...号码解析库
- 整数形式:-12345
- 十进制形式:123.45
- 指数形式:15E-24
- 十六进制:#CAFEBABE
- 二进制:b01100101
...并得到我一个足够表示(从一个byte
如果它适合,并且如果它不到GargantuanDouble
)?
我现在在Java中思考(Android),所以如果是Java,那就更好了;但我愿意从另一种语言移植一个足够小的图书馆。
我在哪里可以得到一个智能号分析器,可以读取,比方说一个数字串...号码解析库
...并得到我一个足够表示(从一个byte
如果它适合,并且如果它不到GargantuanDouble
)?
我现在在Java中思考(Android),所以如果是Java,那就更好了;但我愿意从另一种语言移植一个足够小的图书馆。
除了指数形式,你可以处理每个案例并使用Integer.parseInt(String a,int radix);
假设您可以分离令牌,则可以使用Integer.decode()来解码数字。
字符以下(可选的)负号 和/或基数说明符(“0X”,“0X”,“#”,或前导零)通过的Integer.parseInt方法解析为 与指定的基数(10,16或 8)。这个字符序列必须表示一个正值或一个NumberFormatException将被抛出。如果指定String的第一个 字符是负号,则结果将被否定。字符串中不允许有空格 字符。
例如,
Integer.decode("0xabcf123"); // hex
Integer.decode("07651"); // octal
Integer.decode("123459"); // decimal
我可以知道它为什么被低估吗? – slezica 2012-07-23 05:36:50
巨大双倍? :) – dfb 2012-07-23 06:10:03
FWIW - 关于足够的代表性,Java是静态类型的,而且Number接口有些没用,你或多或少必须知道你在提前分析什么类型的小型数据。 – dfb 2012-07-23 06:16:39