保存できる唯一の(数値)データ型がdoubleであるという制限があるデータベースを使用しています。私がやりたいことは、特定の行の番号を選択して、HTTP 要求に入れることです。問題は、この数値に小数があるべきかどうかわからないということです。
たとえば、double が ID の場合、HTTP 要求を受け取るサイトが混乱するため、どのような書式設定もできません。次の例に注意してください。
site.com/showid.php?id=12300000 // OK
site.com/showid.php?id=1.23E7 // Bad; scientific notation
site.com/showid.php?id=12300000.0 // Bad; trailing decimal
これに対する解決策は、 long にキャストすることです。long のオーバーフローの問題を無視して、科学表記法と (明らかに) 末尾の 10 進数を解決します。これは容認できる解決策ですが、コードが、それが私たちが扱っている ID であると想定していない場合は良いでしょう。たとえば、地図を表示するサイトにクエリを実行し、数値が座標であり、小数が非常に重要である場合はどうなるでしょうか? その場合、 long へのキャストは受け入れられなくなります。
要するに;
- double に小数がない場合は、末尾に小数を追加しないでください。
- 小数がある場合は、すべて保持します。
- どちらの場合も、科学表記法や千単位の区切り記号を使用しないでください。
このソリューションは C# と Java の両方に移植されるため、両方の言語で回答を受け入れます。(ああ、私はこの質問を何と呼ぶべきかわかりませんでした。もっと良いものがあれば、自由に名前を変更してください。)