我有一个计算距离很远的程序.然后我使用stringfromnumber转换距离(双倍)以插入逗号(即1,234,567).只要距离低于2,000,000,000,这种方法就可以正常工作.每当我超过20亿时,我得到的负数也不是正确的距离.通过查看帮助,我似乎完全在双倍的范围内.有任何想法吗?
你可以检查你自己float.h的DBL_MAX找出来.我的价值是1.797693e + 308来自:
#include <stdio.h>
#include <float.h>
int main ( void ) {
printf("Max double %e \n", DBL_MAX);
return 0;
}
Run Code Online (Sandbox Code Playgroud)
双重可以容纳从无穷大到负无穷大的任何东西.但它只能准确地保持15位数.另外,请记住,如果将其转换为int并且double存储大于2,147,483,648的内容,则int将溢出为负数.
| 归档时间: |
|
| 查看次数: |
9658 次 |
| 最近记录: |