objective-c - 在 Objective C 中格式化 float

我需要将 float (吸引人的标题,他?)格式化为 2 位小数,但前提是这些小数位的值不为零。示例:

我有一个名为“answer”的 NSTextField,在使用几个 float 进行数学运算后,我想将“answerFloat”变量分配给“answer”NSTextField。到目前为止,我得到了:

[answer setStringValue:[NSString stringWithFormat:@"%.2f", answerFloat]];

但这会将 45 设置为 45.00。我希望整数显示时不带零,任何十进制数都显示为各自的十进制值。

在将其提供给 stringWithFormat 之前,我是否需要进行某种检查?或者 NSString 是否提供了一种方法来处理这个问题?

最佳答案

您是否尝试过 %g 格式说明符?

NSLog([NSString stringWithFormat:@"%g, %g", 45.0, 45.5]);

2010-01-12 19:54:38.651 foo[89884:10b] 45, 45.5

https://stackoverflow.com/questions/2054218/

相关文章:

android - 格式化日历日期

python - 如何在 Python/Pandas 中将变量设置为 "Today' s"date

python - Python中的字符串格式化

html - 每当我调整编辑器窗口的大小时,如何阻止代码行自动转移到下一行?

eclipse - 制表符和空格转换

visual-studio - 如何更改 Visual Studio 自动格式

algorithm - 模糊日期算法

html - 如何将 NUnit 输出转换为 HTML 报告

.net - 什么是 String.Format 的 WPF XAML 数据绑定(bind)等效项?

powershell - 哈希表数组上的格式表