using System; class Test1 { static void Main() { Console.WriteLine("---start---"); //DoRoundTest1(); //DoCeilingTest1(); //DoTruncTest1(); DoFloorTest1(); Console.WriteLine("---end---"); } // 四捨五入テスト static void DoRoundTest1() { double e = 2.7182; // 小数点第1位を四捨五入して、整数値で表示する。-> 3 Console.WriteLine(e.ToString("F0")); // 小数点第2位を四捨五入して、第1まで表示する。-> 2.7 Console.WriteLine(e.ToString("F1")); // 小数点第3位を四捨五入して、第2位まで表示する。-> 2.72 Console.WriteLine(e.ToString("F2")); // 小数点第4位を四捨五入して、第3位まで表示する。-> 2.718 Console.WriteLine(e.ToString("F3")); // 小数点第1位を四捨五入して、整数値で表示する。-> 3 Console.WriteLine(Math.Round(e, MidpointRounding.AwayFromZero)); // 小数点第2位を四捨五入して、第1まで表示する。-> 2.7 Console.WriteLine(Math.Round(e, 1, MidpointRounding.AwayFromZero)); // 小数点第3位を四捨五入して、第2まで表示する。-> 2.72 Console.WriteLine(Math.Round(e, 2, MidpointRounding.AwayFromZero)); // 小数点第4位を四捨五入して、第3まで表示する。-> 2.718 Console.WriteLine(Math.Round(e, 3, MidpointRounding.AwayFromZero)); } // 切上げテスト static void DoCeilingTest1() { double e = 2.7182; // 少数点第1位を切上げして、整数値で表示する -> 3 Console.WriteLine(Math.Ceiling(e)); // 少数点第2位を切上げして、第1まで表示する。 -> 2.8 Console.WriteLine(Math.Ceiling((e * 10)) / 10); // 少数点第3位を切上げして、第2まで表示する。 -> 2.72 Console.WriteLine(Math.Ceiling((e * 100)) / 100); // 少数点第4位を切上げして、第3まで表示する。 -> 2.719 Console.WriteLine(Math.Ceiling((e * 1000)) / 1000); } // 切捨てテスト // 負数は0に近づける static void DoTruncTest1() { double e = 2.7182; // 少数点第1位を切捨てして、整数値で表示する -> 2 Console.WriteLine(Math.Truncate(e)); // 少数点第2位を切捨てして、第1まで表示する。 -> 2.7 Console.WriteLine(Math.Truncate((e * 10)) / 10); // 少数点第3位を切捨てして、第2まで表示する。 -> 2.71 Console.WriteLine(Math.Truncate((e * 100)) / 100); // 少数点第4位を切捨てして、第3まで表示する。 -> 2.71 Console.WriteLine(Math.Truncate((e * 1000)) / 1000); e *= -1; // 少数点第2位を切捨てして、第1まで表示する。 -> -2.7 Console.WriteLine(Math.Truncate((e * 10)) / 10); // 少数点第3位を切捨てして、第2まで表示する。 -> -2.71 Console.WriteLine(Math.Truncate((e * 100)) / 100); // 少数点第4位を切捨てして、第3まで表示する。 -> -2.71 Console.WriteLine(Math.Truncate((e * 1000)) / 1000); } // 切捨てテスト // 負数は0から遠ざける static void DoFloorTest1() { double e = 2.7182; // 少数点第1位を切捨てして、整数値で表示する -> 2 Console.WriteLine(Math.Floor(e)); // 少数点第2位を切捨てして、第1まで表示する。 -> 2.7 Console.WriteLine(Math.Floor((e * 10)) / 10); // 少数点第3位を切捨てして、第2まで表示する。 -> 2.71 Console.WriteLine(Math.Floor((e * 100)) / 100); // 少数点第4位を切捨てして、第3まで表示する。 -> 2.71 Console.WriteLine(Math.Floor((e * 1000)) / 1000); e *= -1; // 少数点第2位を切捨てして、第1まで表示する。 -> 2.8 Console.WriteLine(Math.Floor((e * 10)) / 10); // 少数点第3位を切捨てして、第2まで表示する。 -> 2.72 Console.WriteLine(Math.Floor((e * 100)) / 100); // 少数点第4位を切捨てして、第3まで表示する。 -> 2.719 Console.WriteLine(Math.Floor((e * 1000)) / 1000); } }