2016-07-06 74 views
2

我想将100我使用下面的代码后创建NSDecimalNumber获取NSDecimalNumber:有2位小数

NSDecimalNumber *amountToSendNumber = [number decimalNumberByDividingBy:[NSDecimalNumber decimalNumberWithString:@"100"]]; 

它给了我正确的值,如果我提供输入作为2536为25.36。 但是,如果我提供输入为2500,那么输出是25. 我希望输出为25.00而没有任何舍入机制。

任何帮助?

+0

你的问题听起来数量有关的陈述(在标签,例如),但我没有看到任何演示代码。请澄清。 – Droppy

+0

检查NSString * formattedNumber = [NSString stringWithFormat:@“%。02f”,myFloat]; –

+0

我想使用NSDecimalNumber而不是float,因为还有其他操作要执行。 – iAsh

回答

3

您需要使用NSNumberFormatter,而你显示NSDecimalNumber

NSNumberFormatter *formatter = [NSNumberFormatter new]; 
    [formatter setMinimumFractionDigits:2]; 
    NSLocale *usLocale = [[NSLocale alloc] initWithLocaleIdentifier:@"en_US"]; 
    [formatter setLocale:usLocale]; 
    NSLog(@"%@", [formatter stringFromNumber:amountToSendNumber]); 
+0

谢谢.. :)它完美的工作! – iAsh

+0

排序和甜蜜的答案+为你的 –

+0

这是给我25,00而不是25.00。你可以帮我吗? – iAsh