item.Size
から最後の6文字を削除しようとしています。これは、データに小数点以下の桁数と5桁の末尾の0があるためです。この値をスライス/トリムする方法は?
sb.Append("<div>" + item.Size + " " + item.Units + " </div>");
ie。 item.Sizeは1.00000と表示され、ちょうど1として表示する必要があります。
これはStringBuilderの一部であり、私はこれを初めて熟読しています。
item.Size
から最後の6文字を削除しようとしています。これは、データに小数点以下の桁数と5桁の末尾の0があるためです。この値をスライス/トリムする方法は?
sb.Append("<div>" + item.Size + " " + item.Units + " </div>");
ie。 item.Sizeは1.00000と表示され、ちょうど1として表示する必要があります。
これはStringBuilderの一部であり、私はこれを初めて熟読しています。
sb.Append("<div>" + (int)item.Size + " " + item.Units + " </div>");
は 'Size'が文字列の場合には機能しません – Jonesopolis
これは魅力的に機能しました、ありがとうございます! –
@ Jonesopolisデータ型の2倍または10進数より100ポイント先:-) – user1681317
StringBuilder
あなたがAppendFormat
メソッドを使用する場合String.Format
と同じ書式設定機能を持っています
sb.AppendFormat("<div>{0:N0} {1} </div>", item.Size, item.Units);
フォーマット文字列「N0は」0小数点に番号をフォーマットするよう指示します。これは、item.Sizeが数値型として格納されていることを前提としています。値が実際にあなたがあなたの例で示したもののようなものであると仮定すると、私はSplit
を使用しました。ここ
sb.AppendFormat("<div>{0} {1}</div>", item.Size.Split('.')[0], item.Units);
:いない場合は、単にあなたがしたくない文字列の一部を削除します。
int.TryParse(またはInt32.TryParse
)の方法を使用すると便利です。 item.Size
がint
に変換できない場合、例外はありません。あなたの選択に応じてint
またはlong
を使用することができます。 if/else条件に従ってコード内でこれを処理できます。
サンプルコード:
int size;
string str = "";
if(int.TryParse(str, out size) == true)
{
}
else
{
}
decimal.Truncate(10進数) - > 123.456小数123に切り捨て。 –
'Size'が数値の場合、なぜ' string'に格納されますか? – juharr
'Convert.ToInt32(item.Size)' – vbguyny