在一个CEdit框中输入99999999999999
然后用
CString strValue;
GetDlgItemText(IDC_EDIT1,strValue);
float f=atof(strValue);
结果f的值竟然是1.00000e+014
!!!!!!!!!!!!!!!!!!!!!!!!!!!
我日呦!!!!!!!!!
请问谁知道这是怎么回事,怎样解决?
立刻给分!!!!!!!
(请动手自己处理一下)
然后用
CString strValue;
GetDlgItemText(IDC_EDIT1,strValue);
float f=atof(strValue);
结果f的值竟然是1.00000e+014
!!!!!!!!!!!!!!!!!!!!!!!!!!!
我日呦!!!!!!!!!
请问谁知道这是怎么回事,怎样解决?
立刻给分!!!!!!!
(请动手自己处理一下)
输入数字位数超过6位就出这个问题
比如输入999999.00时f=9999999.12
可输入9999999.00时f=1.00000e+007
!!!!!!!!!!!!!!!!!!!!!!
我日死他老木呀!!!!!!!怎么会出现这种情况呢?怎么办呢?
_int64 f=_atoi64(strValue);
将这个给一个float,它只能用科学计数法表示