簡體   English   中英

具有浮點值的NSNumberFormatter和SpellOutStyle

[英]NSNumberFormatter and SpellOutStyle with Float Values

我正在嘗試使用NSNumberFormatter的SpellOutStyle呈現一個float值,但是結果並不令人滿意,到目前為止,我還沒有找到解決方案。 問題是,當給定浮點值(例如3.2)時,NSNumberFormatterSpellOutStyle會將其呈現為以下形式:“三點二零零零零零零零四七六八三七二”。

使用SpellOutStyle時,設置roundingMode或maximumFractionDigits屬性似乎沒有任何效果。

這是我如何運行代碼的示例:

NSNumberFormatter *numberFormatter = [[NSNumberFormatter alloc] init];
[numberFormatter setNumberStyle:NSNumberFormatterSpellOutStyle];
NSNumber *numberValue = [NSNumber numberWithFloat:3.2];

NSLog(@"Number: %@", [numberFormatter stringFromNumber:numberValue]);
// Outputs three point two zero zero zero zero zero zero ...

[numberFormatter release];

有任何想法嗎?

問題是浮子不精確。 嘗試將第3行更改為:

NSNumber *numberValue = [NSNumber numberWithDouble:3.2];

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM