[英]Format string with decimal
我正在嘗試使用可能包含或可能不包含“。”的字符串。 到x個字符的數量也要刪除“小數點”。 結果最終將轉換為有符號整數。 我也將始終需要1/10小數(即10將變成100,1將變成10,以此類推...)我想只格式化字符串,而不轉換為整數,直到最后。
例
如果我的傳入字符串是
9.86我想要98作為字符串(我不在乎四舍五入)
如果我得到9我想要90
如果我得到-100我想要-1000
如果我得到-95.353我想要-953
string.Format("{0:d}", (int)9.015*10);
如果您想要四舍五入的結果,請替換演員表
編輯:但是我錯過了“字符串”部分。 詳細代碼如下
var input = "9.86";
var len = input.IndexOf('.');
var result = "";
if (len > 0)
{
result = input.Substring(0, len);
result += input.Substring(len + 1, 1);
}
else
{
result = input + "0";
}
如果您實質上是將字符串中包含的數字乘以10並在第一個數字后保留小數位,那么最好將字符串強制轉換為十進制,然后進行轉換並將該數字強制轉換為整數。 否則,您將必須編寫大量數學規則,以了解如何基於特定類型的輸入來修改字符串。
string[] input = {"9.86", "9", "-100", "-95.3"};
List<int> intNums = new List<int>();
foreach (string s in input)
{
decimal number;
if (Decimal.TryParse(s, out number))
{
number = number * 10;
intNums.Add((int)number);
}
}
輸出:[0] 98 int [1] 90 int [2] -1000 int [3] -953 int
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.