我有几个数字文本框(数据类型为 Number),用户可以在其中添加大数值(大约12 到 15位,如12345678901234
)。
现在,当我将它存储到一个数字中并将其传递给 java(使用 BlazeDS)时,它实际上是以指数格式进行的,例如1.79769313486231e+308
.
我如何以这样的方式处理这个问题,即 flex 会将正确的数值而不是指数格式传递给 java。
提前致谢...
我有几个数字文本框(数据类型为 Number),用户可以在其中添加大数值(大约12 到 15位,如12345678901234
)。
现在,当我将它存储到一个数字中并将其传递给 java(使用 BlazeDS)时,它实际上是以指数格式进行的,例如1.79769313486231e+308
.
我如何以这样的方式处理这个问题,即 flex 会将正确的数值而不是指数格式传递给 java。
提前致谢...
1.7+e308
是没有办法的15-digit
数字。
15 digits
很适合2^64
,所以Number
类型就可以了。它自然地转换为 Java 的double
类型。
指数形式只是将内部值转换为人类可读字符串的一种方式,因此在转换double
为字符串时只需使用不同的格式。
不幸的是,ActionScript 的 uint 最多只能达到 4,294,967,295。听起来这对你来说还不够高。Java 无法告诉您将 Number 表示为 uint 而不是浮点数。您可以在 Java 端修复它。
也许考虑将这些值视为字符串。我知道这很糟糕,但 String 似乎是 ActionScript 最适合您的大量数据的数据类型。
它们是序列号还是什么?