C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

ログ内検索
  • キーワードを複数指定する場合は 半角スペース で区切ってください。
  • 検索条件は、(AND)=[A かつ B] (OR)=[A または B] となっています。
  • [返信]をクリックすると返信ページへ移動します。
キーワード/ 検索条件 /
検索範囲/ 強調表示/ ON (自動リンクOFF)
結果表示件数/ 記事No検索/ ON
大文字と小文字を区別する

No.84069 の関連記事表示

<< 0 >>
■84069  Re[1]: 有効桁数3桁まででJIS丸めがしたい
□投稿者/ 魔界の仮面弁士 -(2017/05/12(Fri) 16:29:42)
    No84065 (AI さん) に返信
    > JIS丸め
    JIS Z 8401 規則 A のことですかね。


    > 例2. 1.234 → 1.234
    3 桁にするなら、これは 1.23 になるべきなのでは?



    > Dim Value as decimal

    Decimal 型は、内部的に桁数情報を持っていますが、
    それは考慮しないものと考えてよいですか?


    '下記の 3 値は、いずれも 2.73 という値になる
    '
    Dim a As Decimal = CDec("1.230") + CDec("1.5")
    Dim b As Decimal = CDec("1.23") + CDec("1.5")
    Dim c As Decimal = CDec("1.23") + CDec("1.5000")

    'いずれも同一の値として扱われるが、内部表現は異なっており、
    '.ToString や .GetBits メソッドを呼び出した場合の結果が異なる
    '
    Console.WriteLine(a) '2.730  … 内部形式は 2730 * 10 ^ -3
    Console.WriteLine(b) '2.73   … 内部形式は 273 * 10 ^ -2
    Console.WriteLine(c) '2.7300 … 内部形式は 27300 * 10 ^ -4



    > どのように求めれば良いのか分かりません。

    手抜き実装:

    Function 丸め(ByVal 値 As Decimal, ByVal 丸め桁数 As Byte) As Decimal
    Return CDec(値.ToString("E" & (丸め桁数 - 1).ToString()))
    End Function


    > VB.net2005で開発をしております
    蛇足ではありますが、2005 以降では .NET の名を冠さずに、
    単に "Visual Basic 2005" のように呼ばれるようになっています。
    (2003 までは "Visual Basic .NET 2003" などと呼ばれていましたが)

    勿論、VB2005 も VB.NET であることには変わりないのですけれどね。
記事No.84065 のレス /過去ログ143より / 関連記事表示
削除チェック/



<< 0 >>

パスワード/

- Child Tree -