我正在为 NSUserDefault 保存一个值。
原值是double,我把它转成NSNumber,然后存为字符串。 我在保存时打印了这些值,并且它们设置正确。
检索时,我获取字符串值并将其转换为 double 值。但是 string 和 double 值都没有给出任何东西。 string 给出 null,double 给出 0.000
保存
//convert filtersequcne to NSNumber...finally saved as string
NSNumber *myDoubleNumber = [NSNumber numberWithDouble:filtersequence];
NSLog(@"Value being stored in myDoubleNumber %@",myDoubleNumber);
// save string with input name of filter for that key
NSUserDefaults *combination = [NSUserDefaults standardUserDefaults];
[combination setObject:[myDoubleNumber stringValue] forKey:input];
NSLog(@"Value of [mydoublenumber] string value %@",[myDoubleNumber stringValue]);
取回值
//get input from saved filter
NSUserDefaults *fetchcombination = [NSUserDefaults standardUserDefaults];
// get the string
NSString *message = [fetchcombination objectForKey:@"Test"];
NSLog(@"Value of message %@",message);
// convert string to double
double actualdoublecombination = [message doubleValue];
NSLog(@"Value of double actualdoublecombination %f",actualdoublecombination);
最佳答案
这是您保存/读取 double 的方式:
double value = 42.00;
[[NSUserDefaults standardUserDefaults] setDouble:value forKey:@"MyDouble"];
double value = [[NSUserDefaults standardUserDefaults] doubleForKey:@"MyDouble"];
关于ios - NSUserDefault 字符串无法检索并转换为 double,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23071672/