問題タブ [nsdecimalnumber]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
4 に答える
1616 参照

objective-c - NSDecimalNumber が NSString として出力される科学的表記法を防止する

この質問に似た問題があります: NSDecimal または NSDecimalNumber のフォーマットされていない文字列表現を取得するにはどうすればよいですか? NSNumber として正確に表現された文字列形式の数値が必要ですが、この数値は別の場所で文字列に変換されるため、それを避けることはできません。私が抱えている問題は、数値が文字列に変換されると、文字列が科学表記法になる場合があることです。

この数値が科学表記法で表示されないようにするにはどうすればよいですか?

私はMacやiPhoneではなく、GNUstepの2005年頃のバージョン(おそらくGNUstep Baseのv1.11.1)で作業しています。これは、参照した他の質問との動作の違いの一部を説明する可能性があります。私自身の GNUstep インストールの基本ライブラリ APIとドキュメントを調べましたが、役立つものは何も見つからないようです。

編集 2/7/12:

質問は少し変わりましたが、目標は同じです。もともと、文字列出力部分を制御できるとは思っていませんでしたが、値を文字列として返すことができました。この時点で、フォーマット文字列を使用しようとしていますが、科学表記法が表示されないようにしたいと考えています。

%g値に特定の有効桁数が必要なため、使用することにしました。を使用する%fと、余分なゼロを削除できますが、数値が常にきれいに表示されるとは限りません。たとえば、800000000.79 は 800000000.7899999600 と表示されます。

その桁数の前に科学表記法を表示せずに、特定の有効桁数 (または小数点以下の桁数) までのきれいにフォーマットされた数値を取得する方法はありますか?

Cのアドバイスも喜んで受け入れます。

0 投票する
4 に答える
17610 参照

objective-c - NSDecimalNumberを比較するさまざまな方法

たとえば、プリミティブを使用して、これを実行します

NSDecimalNumberを使用すると、これが私が持っているものです

この比較に他の方法(より簡単でエレガント)はありますか?値をプリミティブに変換する場合、どのプリミティブを使用しますか?ここでは通貨を扱っているので、CGFloat、float、doubleは使いたくありません。または、それらを上記のものに変換した場合、誰かが精度について検証/説明できますか?

0 投票する
1 に答える
1366 参照

iphone - UITableView で実行中の合計を作成する

トランザクションを使用して、UITableView を入力しました (以前はナビゲーション バーのボタンを使用して保存しました)。各行には 5 つの UILabel があります: 日付、説明、人、値 (入出金) の残高です。表は日付順です。1日の残高はどのように取得できますか? 残高は、最初の入力から現在の行までの合計 (+ と -) です。

次のコード (JournalDetail.m) がありますが、累積額 (残高) ではなく、値と同じ額しか得られません。

バランス値を実装する正しい方法を教えてください。前もって感謝します。よろしくお願いいたします。

これは self.fetchedResultsController のコードです

0 投票する
2 に答える
4493 参照

ios - iOS の NSDecimalNumber で間違った小数点記号

次の方法で、正しい小数点記号を使用して 10 進数の説明を出力しようとしました。

出力は次のとおりです。

小数点記号は「.」ではなく「,」にする必要があります。このロケールの場合。エラーはどこにありますか? ローカルに応じて正しい小数点記号を出力するにはどうすればよいですか?

0 投票する
2 に答える
210 参照

iphone - 非常に奇妙なiPhoneの通貨の足し算と引き算について助けが必要

私のアプリが今日公開されたばかりなので、これは「ちょっと」緊急です。

私のアプリはエミュレーターで正常に動作します。携帯電話、iPad、その他のiPhoneにコピーすると正常に動作します。私たちはアプリから一体をテストしました。アプリストアに送信したところ、承認されて公開されましたが、ダウンロードしたアプリストアアプリでのみエラーが発生します。

基本的に、NSDecimalと数値フォーマッターを使用して請求書のバランスを取り直しています。エミュレーターと電話では、コードをステップスルーするとすべてうまくいきます。しかし、appstoreバンドルはウィッグアウトします。足し算と引き算をしているデータが初期化されていないようです。

誰かがこのようなものを見たことがありますか?

この投稿は完全に曖昧ですが、エミュレーターのコードが正常に機能する場合にデバッグを開始する場所を見つけようとしています。

--UPDATE--コードの追加

}

0 投票する
3 に答える
1315 参照

iphone - 3 つの NSDecimalNumber を同時に乗算する

まず、通貨を扱っているので NSDecimalNumbers を使用しています。10 進数自体に問題はありません。同時に 3 つの NSDecimalNumber(s) を乗算できるかどうかを知りたいです。

言い換えれば、3 つの整数を乗算する場合、単純に次のようにします。

ただし、 NSDecimalNumbers を乗算するには、decimalNumberByMultiplyingBy メソッドを使用する必要があります。

このメソッドを使用すると、扱っている 3 つの NSDecimalNumbers を乗算するために、次のように 2 つの計算を行う必要があります。

この不格好な方法の代わりに、3 つの NSDecimalNumbers をすべて同時に乗算する方法はありますか?

0 投票する
2 に答える
2802 参照

iphone - ローン返済の計算方法

ローンの金額、金利、年数に基づいて毎月の返済額を計算しようとしています。

私は次のことを思いつきましたが、私の計算とインターネット上の他のローン計算機との間には違いがあるようです. 私のテスト データは、1000 ドルの融資額、1 年間で 5% の利息でした。これにより、月々の支払いが 85.61 になり、支払い総額が 1027.29 になります。

これを計算するコードは次のとおりです。

使用している数式は正しいですか、それともエラーがありますか?

どんな助けでも大歓迎です。

どうもありがとうございました

0 投票する
1 に答える
998 参照

iphone - 巨大な NSDecimal を文字列にフォーマットするには?

NSDecimal高精度で大きくなりました。このような:

NSDecimalこれで my の文字列表現を簡単に取得できます。

または

ただし、画面に出力するために正しくフォーマットされることはありません。

999,999,999,999.999999999999 のようにグループ分けしたい

だから私は試しましたNSNumberFormatter

それはこれで終わります:

NSDecimal精度を失うことなく、ユーザーのロケールに基づいて正しくフォーマットされた大きな高精度を取得する方法はありますか?

0 投票する
0 に答える
217 参照

core-data - コアデータの小数型の精度とスケールを設定する方法は?

10 進数型の精度と位取りを適切に設定する方法を知っていますか?

属性の小数型を選択できますが、精度とスケールを設定する場所がわかりません。

移行中にテーブルを変更するいくつかの純粋な SQL クエリを追加することは可能ですか (DECIMAL(scale, precision) を設定するため)? または、必要なスケールと精度に基づいて仮数と指数を使用して NSDecimalNumber を作成する必要があります (つまり、すべてを自分で計算する必要があり、データベース サイトで何が起こっているのかわかりません)。

前もってありがとう、アニア

0 投票する
1 に答える
1672 参照

objective-c - Objective-C、NSDecimalNumberHandlerおよびNSDecimalNumberBehaviorsプロトコルの使用

電卓のクラスは、Objective-Cを学ぶ人にとって人気のある出発点のようです。そのため、「電卓」クラスでは、「decimalNumberByAdding:withBehavior:」メソッドを使用するように加算関数を定義しました。'_behavior'はinitメソッドで定義されます。説明されているコードを以下に示します。

NSDecimalNumberBehaviorsプロトコルを適切に使用するには、次の3つのメソッドを実装する必要があります:'-roundingMode'、'-scale'、および'-exceptionDuringOperation:error:leftOperand:rightOperand:'(ただし、上記のNSDecimalNumberHandlerですでに指定されているroundingModeおよびscaleではありません。 '_行動'?)。

このプロトコルを使用する動機は、「_ behavior」で定義されているエラーの1つ(オーバーフローや精度の低下エラーなど)が発生した場合に例外を発生させて処理することです。

WebとAppleのドキュメントを検索した後、NSDecimalNumberBehaviorsプロトコルの使用方法、および上記の「_behavior」で説明されているエラーを適切に発生させて処理する方法はまだ明確ではありません(プロトコルの実装には、「_behavior」と比較すると冗長性が含まれているようです' 宣言)。

NSDecimalNumberBehaviorsプロトコルを使用し、「_behavior」で定義されているエラーを発生させて処理する適切な方法は何ですか?おそらく、例が最も役立つでしょう。ありがとう : )

- アップデート:

ドキュメントをもう一度見ると、NSDecimalNumberHandlerがNSDecimalNumberBehaviorsプロトコルを採用していることがわかります。つまり、NSDecimalNumberHandlerを適切に初期化して使用する必要があるということです。

除算メソッドを追加した後(0による除算の例外をテストするため)、コードは次のようになります。

実際、0で除算すると、キャッチされない例外がスローされ、プログラムが終了します。わかりました、それは良いです。スローされた例外をどのようにキャッチし、構文的にどこでキャッチしますか?