[英]C# : Math functions
我有一個List<Double>
List<Double>lst=new List<Double>{ 1.0,2.409,3.0}
我需要將此列表轉換為List<String>
所以結果應該包含
{ "1","2.409","3"}
在結果中,如果值沒有任何浮點,則不需要添加.0
請幫我這樣做
如果你使用.Net 3.5,你可以使用Linq:
lst.Select(n => String.Format("{0:0.###}", n));
否則,您可以做到這一點:
var output = new List<string>();
foreach (int number in lst)
{
output.Add(String.Format("{0:0.###}", number));
}
以下是我對此的看法,它不依賴於文化特定的分數分隔符,也不依賴於固定的小數位數:
var result = lst.Select(
n => {
double truncated = Math.Truncate(n);
if(truncated == n) {
return truncated.ToString("0");
} else {
return n.ToString();
}
}
);
List<Double> lst=new List<Double>() { 1.0,2.409,3.0};
List<string> output = lst.Select(val => val.ToString("0.######")).ToList();
應該做你想做的事
List lst = new List { 1.0, 2.409, 3.0 };
List newlist = lst.Select(val => val.ToString()).ToList();
少寫......
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.