私は文字列を持っています (10 進表現であることを確認してください) 0.4351242134
小数点以下2桁の0.44の文字列に変換したい
C# ではどうすればよいですか?
var probablyDecimalString = "0.4351242134";
decimal value;
if (Decimal.TryParse(probablyDecimalString , out value))
Console.WriteLine ( value.ToString("0.##") );
else
Console.WriteLine ("not a Decimal");
var d = decimal.Parse("0.4351242134");
Console.WriteLine(decimal.Round(d, 2));
よく私はするだろう:
var d = "0.4351242134";
Console.WriteLine(decimal.Parse(d).ToString("N2"));
float f = float.Parse("0.4351242134");
Console.WriteLine(string.Format("{0:0.00}", f));
string.Formatについては、こちらを参照してください。
まず、カルチャを使用して解析する必要があります。そうしないと、小数が失われる可能性があります。次に、小数点以下の桁数を固定するテキスト結果が必要です。最後に、小数点以下 2 桁に丸めToString()
ますが、次のようにそれを行うことができます。
string amount5 = "2.509"; // should be parsed as 2.51
decimal decimalValue = Decimal.Parse(amount5, System.Globalization.CultureInfo.InvariantCulture);
string textValue = decimalValue.ToString("0.00");
// 2.51
float myNumber = float.Parse("0.4351242134");
Console.WriteLine(string.Format("{0:f2}", myNumber ));
これは役に立ちますか
double ValBefore= 0.4351242134;
double ValAfter= Math.Round(ValBefore, 2, MidpointRounding.AwayFromZero); //Rounds"up"