本文介绍了小数点后的NSDecimalNumber零(iPhone SDK)的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我有以下代码
(...) 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; (...)我希望firstStepReturn有2位数字小数点后面,即使它们是.00或。* 0。例如,如果323.390被输入到文本字段textFieldThree中,它将被处理并返回到文本字段3233.90。目前,它显示为3233.9。
I would like to be able to have firstStepReturn have 2 digits following the decimal point even if they are .00 or .*0. For example, if 323.390 was inputted into the textfield "textFieldThree", it would be processed and returned to the textfield as 3233.90. At the moment, it is displaying as 3233.9.
非常感谢任何帮助。
推荐答案NSDecimalNumber子类NSNumber所以你只需要使用NSNumberFormatter
NSDecimalNumber subclasses NSNumber so you just need to use NSNumberFormatter
NSDecimalNumber * dn = [NSDecimalNumber decimalNumberWithString:@"1234.5"]; NSNumberFormatter * nf = [[NSNumberFormatter alloc] init]; [nf setMinimumFractionDigits:2]; [nf setMaximumFractionDigits:2]; NSString *ns = [nf stringFromNumber:dn];Simples
更多推荐
小数点后的NSDecimalNumber零(iPhone SDK)
发布评论