首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 更多程式語言 >> 程式設計綜合問答

C#字符串"20"轉浮點數2.0:Parse除法與格式化輸出完整方案

     編輯:程式設計綜合問答

核心代碼


string s = "20";
double result = double.Parse(s) / 10;
string resultStr = result.ToString("F1"); // "2.0"

詳細步驟解析

步驟代碼說明結果
1. 字符串解析double.Parse("20")轉為雙精度浮點數20.0
2. 數學運算/ 10除以10實現小數點左移2.0
3. 格式化輸出.ToString("F1")保留1位小數,標準格式"2.0"

替代方案對比


// 方案一:字符串插值 (C# 6+)
string resultStr = $"{double.Parse(s) / 10:F1}";

// 方案二:字符串操作 (不推薦,無數學語義)
string resultStr = s.Insert(s.Length - 1, "."); // "2.0" - 僅適用於整數字符串

// 方案三:Decimal 類型 (金融/高精度場景)
decimal result = decimal.Parse(s) / 10m;
string resultStr = result.ToString("F1");

// 方案四:TryParse 安全解析
if (double.TryParse(s, out double value)) {
    string resultStr = (value / 10).ToString("F1");
}

格式化字符串參考

格式輸入 2.0輸入 2.5說明
F1 / F22.0 / 2.002.5 / 2.50固定小數位
N1 / N22.0 / 2.002.5 / 2.50帶千分位分隔符
G / R2 / 22.5 / 2.5通用/往返格式
P1200.0%250.0%百分比格式

異常處理最佳實踐


public string ConvertToDecimalString(string input, int divisor = 10, int decimals = 1) {
    if (string.IsNullOrWhiteSpace(input)) return "0".PadRight(decimals + 2, '0');
    
    if (double.TryParse(input, out double value)) {
        double result = value / divisor;
        return result.ToString($"F{decimals}");
    }
    
    // 記錄異常日誌
    return "NaN";
}
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved