そもさん~
Q.0.1 を 100 回たして答えが 10.0 になるプログラムを書いてください。
ヒント: 以下のコードの日本語部分をコードに変えてください。
【VB】以下の2つのデータ型でくらべてみてね。
Option Strict On の環境でおこなってください。
Module Module1
Sub Main()
Dim d1 As Double
Dim d2 As Decimal
d1 = 初期化処理
d2 = 初期化処理
For index As Integer = 1 To 100
d1に0.1を加える処理
d2に0.1を加える処理
Next
Console.WriteLine(d1)
Console.WriteLine(d2)
End Sub
End Module
【C#】以下の2つのデータ型を比べてみてね。
using System;
using System.Collections.Generic;
using System.Text;
namespace ConsoleApplicationCS
{
class Program
{
static void Main(string[] args)
{
double d1;
decimal d2;
d1 = 初期化処理;
d2 = 初期化処理;
for (int i = 1; i <= 100; i++)
{
d1に0.1を加える処理
d2に0.1を加える処理
}
Console.WriteLine(d1);
Console.WriteLine(d2);
}
}
}
この問題のみどころ
浮動小数点演算では、答えが10.0にならないことを確かめましょう。
0.1 と書くとハマります。