2008年12月14日(日曜日)
System.DoubleのNaN, NegativeInfinity, PositiveInfinity
公開: 2024年12月21日23時0分頃
BMIとローレル指数を計算するだけの、やる気のないプログラムを作成 (C#)。
using System; public class App{ public static int Main(string[] args){ if(args.Length < 2){ Console.WriteLine("usage: bmicalc height(cm) weight(kg)"); return 1; } double height = 0; double weight = 0; double.TryParse(args[0], out height); double.TryParse(args[1], out weight); Console.WriteLine("Height: {0}cm", height); Console.WriteLine("Weight: {0}kg", weight); double bmi = weight / Math.Pow(height/100, 2); double rohrerIndex = weight / Math.Pow(height, 3) * 10000000; Console.WriteLine("BMI: {0:F}", bmi); Console.WriteLine("ローレル指数: {0:F}", rohrerIndex); return 0; } }
0で割ると死ぬのでエラー処理が必要……かと思いきや、型がdoubleだと例外にならず、NaN, NegativeInfinity, PositiveInfinity のいずれかが格納されるのですね。
※もともとやる気のないプログラムなので、例外さえ出なければOK。負の数を入れられても気にしません。
- 「System.DoubleのNaN, NegativeInfinity, PositiveInfinity」にコメントを書く
- 前(古い): 2008年12月13日(Saturday)のえび日記
- 次(新しい): 2008年12月15日(Monday)のえび日記