問題タブ [tostring]
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.
c# - .NET decimal.ToString(string)がゼロから四捨五入され、言語仕様と明らかに矛盾しているのはなぜですか?
decimal
C#では、デフォルトでの丸めは。を使用していることがわかりますMidpointRounding.ToEven
。これは予想されることであり、C#仕様で規定されています。ただし、次の場合:
- A
decimal dVal
string sFmt
に渡されるとdVal.ToString(sFmt)
、の丸められたバージョンを含む文字列になる形式dVal
decimal.ToString(string)
...を使用して丸められた値を返すことは明らかですMidpointRounding.AwayFromZero
。これは、C#仕様と直接矛盾しているように見えます。
私の質問はこれです:これが事実である正当な理由がありますか?それとも、これは言語の単なる矛盾ですか?
decimal.ToString(string)
以下に、参考のために、値の配列内のすべての値について、さまざまな丸め演算結果と演算結果をコンソールに書き込むコードをいくつか含めましたdecimal
。実際の出力は埋め込まれています。その後、タイプのC#言語仕様セクションから関連する段落を含めましたdecimal
。
サンプルコード:
C#言語仕様のセクション4.1.7の段落(「10進型」)(完全な仕様はここ(.doc)で入手してください):
10進数型の値に対する演算の結果は、正確な結果(各演算子に対して定義されたスケールを保持)を計算し、表現に合うように丸めた結果です。結果は、最も近い表現可能な値に丸められ、結果が2つの表現可能な値に等しく近い場合は、最下位桁の位置に偶数がある値に丸められます(これは「バンカーの丸め」と呼ばれます)。ゼロの結果は常に0の符号と0のスケールを持ちます。
彼らがこの段落で考慮していなかったかもしれないことは容易に理解できますToString(string)
が、私はそれがこの説明に当てはまると思う傾向があります。
c - Ansi C で toString を使用して数値を変換する
toString 演算子を使用することは可能ですか、または数値を char 配列に変換する方法はありますか。
vb.net - Visual Basic - 電子メールにキャリッジ リターンを送信する
改行 (改行) を含む文字列を電子メールに送信するにはどうすればよいですか?
問題は、文字列を電子メールに送信していて、電子メールが改行を取り除いていることです。
apache-flex - 実行時にオブジェクトのメモリアドレスを出力するにはどうすればよいですか?javaのthis.toString()のように
AS3オブジェクトのメモリ位置をたとえばラベルに書き込む方法は?デバッグ目的で必要です。ありがとう
java - Java と .NET での ToString() の本来の理由は何ですか?
私はToString()
過去に適度に使用してきましたが、多くの状況で非常に便利であることがわかりました. ただし、このメソッドの私の使用法は、このメソッドをSystem.Object
. 私の勝手な推測では、.NET フレームワークの初期設計を考え出すために実行された作業と開催された会議のある時点で、次のようなToString()
メソッドを含める必要がある、または少なくとも非常に有用であると判断されたのです。 .NET フレームワークのすべてによって実装されます。
正確な理由を知っている人はいますか?ToString()
の一部になるのに十分有用であることが証明されている多くの状況を見逃していSystem.Object
ますか? 元の理由はToString()
何ですか?
どうもありがとう!
PS - 繰り返しますが、私はメソッドに疑問を呈したり、役に立たないことを暗示しているわけではありませんSystem.Object
。
補足 - これを想像してみてください:
AnyDotNetNativeClass someInitialObject = new AnyDotNetNativeClass([some constructor parameters]);
AnyDotNetNativeClass initialObjectFullCopy = AnyDotNetNativeClass.FromString(someInitialObject.ToString());
これはかっこいいと思いませんか?
編集(1):
(A) - いくつかの回答に基づいて、.NET 言語はこれを Java から継承したようです。そのため、件名とタグにも「Java」を追加しています。これがJavaで実装された理由を誰かが知っている場合は、光を当ててください!
(B) - 静的仮説FromString
vs シリアライゼーション: 確かに、それはまったく別の話ですよね?
java - Javaでは、列挙型自体の中で列挙型の値を取得するにはどうすればよいですか?
toString()
列挙型をオーバーライドしたいColor
. ただし、列挙型Color
内のインスタンスの値を取得する方法がわかりません。Color
Javaでこれを行う方法はありますか?
例:
java - when to use toString() method
This may sound very basic... can someone please explain the use of the toString()
method and when to effectively use this?
Have done a search on google but could not find any good resource.
vb.net - vb.net の通貨表示には、2 つではなく 4 つのゼロがあります
SQL サーバーから vb.net コードへの money フィールドを取得すると、常に 1.00 ではなく 1.0000 になります。これを vb.net で 1.00 に変換するにはどうすればよいですか?
SQLDRは私のSQLデータリーダーです
.net - .rdlcレポートのカスタム.ToString()形式
.ToString()関数をオーバーロードするカスタムビジネスオブジェクトがあります。また、IFormattable.ToStringを実装しているため、独自のカスタム形式を定義できます。
このアプローチは、.rdlcレポートを除いて、私のアプリのどこでも機能するようです。たとえば、次の式のレポートにテキストフィールドがあります。
「lr」は私が作成したカスタムフォーマットです。レポートを実行すると、出力として常に#Errorが発生します。.ToString関数にブレークポイントを設定し、レポートの実行中にコードをステップ実行しました。関数が正しい値を返していることはわかっていますが、レポートはそれを受信して表示できないようです。
java - 文字列ベースのコンストラクタをJavaクラスに追加する最良の方法は?
たとえば、Fooなどのクラスがあるとします。
ここで、Fooを表す文字列を引数として取るコンストラクターを追加したいと思います。たとえば、Foo( "1 2")はx=1およびy=2のFooを作成します。元のコンストラクターのロジックを複製したくないので、次のようなことができるようにしたいと思います。
ただし、Javaでは、this(x、y)を呼び出す前のステートメントは許可されていません。これを回避するための受け入れられた方法はありますか?