1
我的代碼是非常簡單的:轉換雙待很長很長的目標C
long long GetAmountFromString(NSString* string){
NSLog(@"double value %f", [string doubleValue]);
NSLog(@"double value * 100 %f", [string doubleValue]*100);
NSLog(@"long long %lld", (long long)([string doubleValue]*100));
return (long long)([string doubleValue]*100);
}
int main(int argc, const char * argv[]) {
@autoreleasepool {
GetAmountFromString(@"4324.69");
}
return 0;
}
然而,它的輸出是奇怪:
double value 4324.690000
double value * 100 432469.000000
long long 432468
我想到的是342469.誰能告訴我正確的做這份工作的方式?