Chr*_*ris 5 nsdecimalnumber ios
我有以下代码
(...)
numberStyle = [NSDecimalNumberHandler decimalNumberHandlerWithRoundingMode:NSRoundPlain
scale:2
raiseOnExactness:NO
raiseOnOverflow:NO
raiseOnUnderflow:NO
raiseOnDivideByZero:NO];
strThree = textFieldThree.text;
strThree = [strThree stringByReplacingOccurrencesOfString:@"." withString:@""];
fieldOneDNa = (NSDecimalNumber *)[NSDecimalNumber decimalNumberWithString:strThree];
oneHundred = (NSDecimalNumber *)[NSDecimalNumber decimalNumberWithString:@"100"];
fieldOneDN = [fieldOneDNa decimalNumberByDividingBy:oneHundred
withBehavior:numberStyle];
firstStepReturn = [fieldOneDN stringValue];
textFieldThree.text = firstStepReturn;
(...)
Run Code Online (Sandbox Code Playgroud)
我希望能够让firstStepReturn在小数点后面有2位数,即使它们是.00或.*0.例如,如果323.390被输入到文本字段"textFieldThree"中,它将被处理并返回到文本字段3233.90.目前,它显示为3233.9.
任何帮助将不胜感激.
And*_*iih 18
NSDecimalNumber子类NSNumber,因此您只需要使用NSNumberFormatter
NSDecimalNumber * dn = [NSDecimalNumber decimalNumberWithString:@"1234.5"];
NSNumberFormatter * nf = [[NSNumberFormatter alloc] init];
[nf setMinimumFractionDigits:2];
[nf setMaximumFractionDigits:2];
NSString *ns = [nf stringFromNumber:dn];
Run Code Online (Sandbox Code Playgroud)
Simples
为什么不使用textFieldThree.text=[NSString stringWithFormat:@"%.2f",[fieldOneDN floatvalue]];
(或类似的东西 - 抱歉我现在在电脑上,所以无法测试这个)
| 归档时间: |
|
| 查看次数: |
8043 次 |
| 最近记录: |