0

私が印刷しようとしているときinfo(numeralsToTxt(3492.4069)); それは私に出力を与えます*** Three Thousand Four Hundred Ninety Two and 41/100。メソッドnumbersToTxt()をチェックすると*** Three Thousand Four Hundred Ninety Two and 406/1000 、関数frac()が.41を返す ことがわかります。

助けてください。

4

1 に答える 1

1

frac().41を返していません。decRound(frac(_num), 2).41を返しているのです。decRound メソッドの 2 番目の引数は、必要な小数点以下の桁数です。

あなたができることは変わることです

int numOfPennies = (decRound(frac(_num), 2) * 100) mod 100;

int numOfPennies = (decRound(frac(_num), 3) * 1000) mod 1000;

次に、メソッドの下部にある出力文字列を、代わりにnumeralsToTxt表示するように変更します。'/1000''/100'

実際の出力は、406/1000 ではなく、407/1000 になります。

于 2013-01-10T13:48:10.843 に答える