私は数値を入力するNSTableView
を持っています。これらは通常、「1」や「15」のように普通に表示できる数字です。しかし、それらのサブセットは常に "1.5E8"のように非常に大きくても小さくてもかまいません。NSNumberFormatterは大きい値または小さい値の "E"のみを表示しますか?
私はので、私はこれらをフォーマットするstringFromNumberを使用することができNSNumberFormatterシングルトンを作ったが、私が唯一のオンまたはオフにEを持つことができるようだ:
これらの「0E0」さんは役に立たない、彼らは単に "0"にする必要があります。この場合でもはと思われません。私は何かを逃していますか?
または、コードでこれを行う必要がありますか?ここで
は私の文書のサブクラスでセットアップコードです:
var measurementFormatter: NSNumberFormatter = NSNumberFormatter()
measurementFormatter.locale = NSLocale.currentLocale()
measurementFormatter.numberStyle = .ScientificStyle
measurementFormatter.alwaysShowsDecimalSeparator = true
measurementFormatter.minimumFractionDigits = 0
measurementFormatter.maximumFractionDigits = 6
measurementFormatter.generatesDecimalNumbers = false
と使用例:
numStr = (document?.measurementFormatter.stringFromNumber(num)!
私は 'NSNumberFormatter'から' E0E'をやったことがなかったです。今使用しているコードを実行する必要がありますか? – Sulthan
良い点が追加されました。 –
ここでiOSやOS Xについてお話していますか? OS Xのフォーマッタははるかに強力です(フォーマットには 'format'プロパティがありますので、任意のフォーマットを設定できます)。 iOSでは、最良の解決策は、結果から 'E0'サフィックスを削除するか、値に応じて2つのフォーマッタを使用することです。 – Sulthan