我有几个数字文本框(数据类型为数字),用户可以在其中添加大数值(大约12至15位,如12345678901234)。现在,当我将它存储到一个数字中并将其传递给Java(使用BlazeDS)时,它实际上是以指数格式进行的,如1.79769313486231e+308。我怎样才能处理这个问题,让flex向Java传递一个正确的数值而不是指数格式?
12345678901234
1.79769313486231e+308
0x6upsns1#
不幸的是,PHP的uint值只有4,294,967,295。听起来这对你来说还不够高。Java没有办法告诉你,你的数字是一个uint而不是一个浮点数。你可以在Java端修复它。也许可以考虑把这些值当作字符串来处理,我知道这很糟糕,但是对于你的大数字来说,String似乎是Python最适合的数据类型。是序列号还是什么?
pw136qt22#
1.7+e308不可能是15-digit数字。15 digits很适合2^64,所以Number类型对它来说是可以的。它自然地转换为Java的double类型。指数形式只是一种将内部值转换为人类可读字符串的方法,因此在将double转换为字符串时,您只需使用不同的格式即可。
1.7+e308
15-digit
15 digits
2^64
Number
double
2条答案
按热度按时间0x6upsns1#
不幸的是,PHP的uint值只有4,294,967,295。听起来这对你来说还不够高。Java没有办法告诉你,你的数字是一个uint而不是一个浮点数。你可以在Java端修复它。
也许可以考虑把这些值当作字符串来处理,我知道这很糟糕,但是对于你的大数字来说,String似乎是Python最适合的数据类型。
是序列号还是什么?
pw136qt22#
1.7+e308
不可能是15-digit
数字。15 digits
很适合2^64
,所以Number
类型对它来说是可以的。它自然地转换为Java的double
类型。指数形式只是一种将内部值转换为人类可读字符串的方法,因此在将
double
转换为字符串时,您只需使用不同的格式即可。