我尝试了@“%。3g”,但它没有正常工作,当我使用它时,第一个公式四舍五入到一个小数位,第二个&第三个公式看起来不错,第五个公式和第7个出现奇怪(1.52e + 03)& (9.23e + 03)。下面是我的公式。 我想分别做每一个,因为有些需要四舍五入到两个地方,一些到三个地方。 非常感谢。
double VolumePerMtrCubicMtr = ((3.141592654/4 * ([textField1.text doubleValue]/1000) * ([textField1.text doubleValue]/1000)) - (3.141592654/4 * ([textField2.text doubleValue]/1000) * ([textField2.text doubleValue]/1000))) * [textField5.text doubleValue];
volumePerMeterCubicMeterAnswer.text = [NSString stringWithFormat:@"%g", VolumePerMtrCubicMtr];
double VolumePerMtrLitres = [volumePerMeterCubicMeterAnswer.text doubleValue] * 1000;
volumePerMeterLitreAnswer.text = [NSString stringWithFormat:@"%g", VolumePerMtrLitres];
double LubricationPumpCapacity = [textField6.text doubleValue] / 1000 * [volumePerMeterLitreAnswer.text doubleValue];
pumpSpeedAnswer.text = [NSString stringWithFormat:@"%g", LubricationPumpCapacity];
double VolumePerPipeCubicMtr = [volumePerMeterCubicMeterAnswer.text doubleValue] *[textField3.text doubleValue];
volumePerPipeCubicMeterAnswer.text = [NSString stringWithFormat:@"%g", VolumePerPipeCubicMtr];
double VolumePerPipeLitre = [volumePerMeterLitreAnswer.text doubleValue] * [textField3.text doubleValue];
volumePerPipeLitreAnswer.text = [NSString stringWithFormat:@"%g", VolumePerPipeLitre];
double VolumeForDriveCubicMtr = [volumePerMeterCubicMeterAnswer.text doubleValue] * [textField4.text doubleValue];
volumeForDriveCubicMeterAnswer.text = [NSString stringWithFormat:@"%g", VolumeForDriveCubicMtr];
double VolumeForDriveLitres = [volumePerMeterLitreAnswer.text doubleValue] * [textField4.text doubleValue];
volumeForDriveLitreAnswer.text = [NSString stringWithFormat:@"%g", VolumeForDriveLitres];
答案 0 :(得分:1)
我建议将NSNumberFormatter
与NSNumberFormatterDecimalStyle
一起使用。
例如:
NSNumber *sampleNumber = [NSNumber numberWithDouble:1234567.8369];
NSString *numberStr = [NSNumberFormatter localizedStringFromNumber:sampleNumber numberStyle: NSNumberFormatterDecimalStyle];
numberStr
将是:1,234,567.837
答案 1 :(得分:0)
尝试%.3f,其中3是小数位数而不是%g
答案 2 :(得分:0)
我知道为什么我现在得到的不准确,这是因为我的公式正在使用我的其他公式的答案进行计算,如果它们已经四舍五入,那么我会得到下一个公式的不准确! 不知道怎么解决这个问题。我真的需要保留小数点后面的所有数字,只隐藏显示的额外数字,这样它们仍然包含在计算中。 在java中,我会使用“split”来执行此操作,但不知道如何在Objective-C中执行此操作。