在我的应用程序中,我接受金额值(浮动)并保存它。在金额字段中,用户可以在小数点后输入任意数量的位数。但是当我读它并保存时,它应该只是小数点后的两位数。此方案适用于我的代码。但问题是,如果用户输入值2.468,则保存为2.47。但如果用户输入是2.245,在这种情况下我需要保存为2.25但它只保存为2.24。
In my app, am accepting amount value(float) and saving it. In the amount field, the user may enter any number of digits after decimal point. But when i read it and save, it should be only two digits after the decimal point. this scenario works properly with my code. but the problem is, if the user enters the value 2.468, it is saved as 2.47. but if the user input is 2.245, in this case i need to be saved as 2.25 but it gets saved as 2.24 only.
我的代码是
AmountValue = [NSString stringWithFormat:@"%f",[AmountTxt1.text floatValue]]; float Rate_int = [AmountValue floatValue]; NSNumberFormatter *currencyFormatter = [[NSNumberFormatter alloc] init]; [currencyFormatter setNumberStyle:NSNumberFormatterCurrencyStyle]; NSString *str1 = [NSString stringWithFormat:@"%@",[currencyFormatter stringFromNumber:[NSNumber numberWithFloat:Rate_int]]]; TotalAmtTxt.text = str1;推荐答案
double Rate_int1 = [input doubleValue]; NSNumberFormatter *formatter = [[NSNumberFormatter alloc] init]; [formatter setNumberStyle:NSNumberFormatterDecimalStyle]; [formatter setRoundingMode: NSNumberFormatterRoundHalfUp]; [formatter setMaximumFractionDigits:2]; NSString *numberString = [formatter stringFromNumber:[NSNumber numberWithDouble:Rate_int1]];
NSString numberString具有舍入值..
The NSString numberString has the rounded off value..
更多推荐
十进制值四舍五入到ios中的下一个更高的值
发布评论