[英]Convert each Integer in an integer string to Hex Format with 0x prefix
[英]Convert string with format X.X.X to float
我正在為一個項目獲取一些數據,該項目給我一個格式為XXX的字符串(示例15.23.1),我需要以某種方式降至15.231。 我以為可以將原始字符串轉換為浮點數,然后使用Convert.ToSingle將其轉換為浮點數,但是到目前為止,我的嘗試都失敗了。
有人對此有一個簡單的解決方案嗎?
只需刪除最后一個.
然后使用float.Parse
或float.TryParse
解析字符串的其余部分
string str = "15.23.1";
str = str.Remove(str.LastIndexOf('.'), 1);
float f;
if (float.TryParse(str, out f))
{
Console.WriteLine("Parsing successful");
}
else
{
Console.WriteLine("Parsing failed");
}
如果要進行文化不敏感的解析,則可以嘗試:
if (float.TryParse(str, NumberStyles.AllowDecimalPoint, CultureInfo.InvariantCulture, out f))
如果str
具有意外格式,則將引發異常。
float f = float.Parse(str.Remove(str.LastIndexOf('.'), 1), CultureInfo.InvariantCulture);
看起來您只需要使用String.Remove
和String.LastIndexOf
方法;
string s = "15.23.1";
s = s.Remove(s.LastIndexOf('.'), 1);
float f;
if(float.TryParse(s, NumberStyles.Float, CultureInfo.InvariantCulture, out f))
{
Console.WriteLine("YES");
Console.WriteLine(f);
}
else
{
Console.WriteLine("NO");
}
輸出將是;
15,231
帶有正則表達式的選項:
string str = "14.4.6";
str = Regex.Replace(str, @"(\d+)(\.\d+)?\.?(\d+)?", "$1$2$3");
// parse string
輸入和輸出樣本:
15.23.1 > 15.231
15.23 > 15.23
15 > 15
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.