System.DoubleのNaN, NegativeInfinity, PositiveInfinity
2008年12月14日(日曜日)
System.DoubleのNaN, NegativeInfinity, PositiveInfinity
公開: 2025年10月30日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」にコメントを書く
- 前(古い): ハサミ男
- 次(新しい): 森の生活 26日目: スーパーたぬき
