.NETエンジニア・プログラマ向けの技術情報・業界ニュースをお届けします。

  1. FEnet.NETナビ
  2. .NETコラム
  3. プログラミング言語
  4. C#
  5. decimalの使い方とは?様々な言語でのdecimalの使い方を紹介!

decimalの使い方とは?様々な言語でのdecimalの使い方を紹介!

  • C#
  • プログラミング言語
公開日時:   更新日時:
decimalの使い方とは?様々な言語でのdecimalの使い方を紹介!
この記事でわかること
    基本情報技術者試験の試験対策はこちら>>

    システム
    エンジニア
    decimalを誤差なく使う方法について教えてください。

    プロジェクト
    マネージャー
    言語によって使い方がそれぞれ違うので、言語ごとに紹介していきましょう。

    様々な言語でのdecimalの使い方を紹介します


    今回は、様々な言語でのdecimalの使い方を紹介します。
    例えば、十進数の「1.1」を2進数に変換すると「1.0001100110011001100110011001…」となり「1001」の部分が無限に繰り返されます。そのため、少数の型に格納するには丸められます。丸めた値で計算すると、計算結果に誤差が生じます。
    この誤差をなくして計算するために、decimalを使用します。

    ここでは、
    ・Ruby
    ・Python
    ・Java
    ・C#
    ・VB.net
    でのdecimalの使い方を紹介します。

    decimalの使い方に興味のある方はぜひご覧ください。

    Ruby

    Rubyでのdecimalの使い方を紹介します。実際のソースコードを見てみましょう。BigDecimalを扱うために「require ‘bigdecimal’」が必要です。

    実行結果は以下のようになります。

    BigDecimal(’数値’)と’数値’.to_dは同じです。to_dを使うほうが、ソースコードがシンプルになります。
    BigDecimalでないと計算結果に誤差が生じます。BigDecimalを使うと誤差なく計算できることが分かります。

    Python

    Pythonでのdecimalの使い方を紹介します。実際のソースコードを見てみましょう。
    Decimalを扱うためには「from decimal import Decimal」が必要です。

    実行結果は以下のようになります。

    Decimalでないと計算結果に誤差が生じます。Decimalを使うと誤差なく計算できることが分かります。

    Java

    Javaでのdecimalの使い方を紹介します。実際のソースコードを見てみましょう。
    BigDecimalクラスを使用するには、「import java.math.BigDecimal;」が必要です。

    実行結果は以下のようになります。

    加減乗除は「+」や「-」ではなく、addやsubtractなどのメソッドが用意されています。
    BigDecimalでないと計算結果に誤差が生じます。BigDecimalを使うと誤差なく計算できることが分かります。

    C#

    C#でのdecimalの使い方を紹介します。実際のソースコードを見てみましょう。

    実行結果は以下のようになります。

    decimal でないと計算結果に誤差が生じます。decimal を使うと誤差なく計算できることが分かります。

    VB.net

    VB.netでのdecimalの使い方を紹介します。実際のソースコードを見てみましょう。

    実行結果は以下のようになります。

    Decimalでないと計算結果に誤差が生じます。Decimalを使うと誤差なく計算できることが分かります。

    システム
    エンジニア
    それぞれの言語によって、定義の方法が違うのも面白いところですね。

    プロジェクト
    マネージャー
    Decimalを利用することで計算結果の誤差がなくなりますが、誤差が必要になるシステムもありますので、確実にマスターしておくことが望ましいでしょう。

    まとめ

    いかがでしたでしょうか。誤差をなくして計算するために、decimalを使用します。decimalを使用しないと、計算結果に誤差が生じることが分かりました。

    ここでは、様々な言語(Ruby、Python、Java、C#、VB.net)でのdecimalの使い方を紹介しました。また、各言語での使い方の違いや加減乗除の計算方法について紹介しました。

    演算の誤差があっても良いか否かはシステムによるところがあります。例えば、お金の計算をするようなシステムでは、誤差は致命的です。誤差の発生しないような演算をするように心がけてください。

    ぜひご自身でソースコードを書いて、理解を深めてください。

    FEnet.NETナビ・.NETコラムは株式会社オープンアップシステムが運営しています。
    株式会社オープンアップシステムロゴ

    株式会社オープンアップシステムはこんな会社です

    秋葉原オフィスには株式会社オープンアップシステムをはじめグループのIT企業が集結!
    数多くのエンジニアが集まります。

    秋葉原オフィスイメージ
    • スマホアプリから業務系システムまで

      スマホアプリから業務系システムまで

      スマホアプリから業務系システムまで開発案件多数。システムエンジニア・プログラマーとしての多彩なキャリアパスがあります。

    • 充実した研修制度

      充実した研修制度

      毎年、IT技術のトレンドや社員の要望に合わせて、カリキュラムを刷新し展開しています。社内講師の丁寧なサポートを受けながら、自分のペースで学ぶことができます。

    • 資格取得を応援

      資格取得を応援

      スキルアップしたい社員を応援するために資格取得一時金制度を設けています。受験料(実費)と合わせて資格レベルに合わせた最大10万円の一時金も支給しています。

    • 東証プライム上場企業グループ

      東証プライム上場企業グループ

      オープンアップシステムは東証プライム上場「株式会社オープンアップグループ」のグループ企業です。

      安定した経営基盤とグループ間のスムーズな連携でコロナ禍でも安定した雇用を実現させています。

    株式会社オープンアップシステムに興味を持った方へ

    株式会社オープンアップシステムでは、開発系エンジニア・プログラマを募集しています。

    年収をアップしたい!スキルアップしたい!大手の上流案件にチャレンジしたい!
    まずは話だけでも聞いてみたい場合もOK。お気軽にご登録ください。

    株式会社オープンアップシステムへのご応募はこちら↓
    株式会社オープンアップシステムへのご応募はこちら↓

    新着案件New Job