我有几个数字文本框(数据类型为Number),用户可以在其中添加大数值(大约12到15数字,如12345678901234
)。
现在,当我将它存储成一个数字并将其传递给java(使用BlazeDS)时,它实际上是以指数格式运行的,如1.79769313486231e+308
。
我如何处理这个问题,flex将传递一个适当的数值给java,而不是指数格式。
不幸的是,ActionScript的int最多只能达到4,294,967,295。听起来对你来说还不够高。Java没有办法知道你指的是整数而不是浮点数。你可以在Java端修复它。
可以考虑将这些值作为字符串处理。我知道这是一个令人沮丧的,但字符串似乎是ActionScript最适合你的巨大数字的数据类型。
它们是序列号还是什么?
1.7+e308
不可能是15-digit
号。15 digits
很适合2^64
,所以Number
类型是可以的。它被自然地转换为Java的double
类型。
指数形式只是将内部值转换为人类可读的字符串的一种方式,因此在将double
转换为字符串时,您只需使用不同的格式。