5

我有一个像 6348725 这样的数字,显示为字符串,但我只想使用 String.Format 显示最后 6 位数字(348725)。有没有办法做到这一点?我知道,有 Substring 函数(或 Int 计算与 %(VB 中的 Mod)),但我想通过来自 TextBox 的用户输入使用 FormatString。

4

3 回答 3

3

我不明白你为什么需要String.Format,但你可以像这样使用它;

string s = "6348725";
TextBox1.Text = s.Substring(s.Length - 6)); // Textbox will be 348725

好吧,我只是想展示一种没有;的肮脏方式Substring

string s = "6348725";
var array = new List<char>();
if (s.Length > 6)
{
    for (int i = s.Length - 6; i < s.Length; i++)
    {
        array.Add(s[i]);
    }
}

Console.WriteLine(string.Join("", array)); // 348725
于 2013-10-06T10:45:54.337 回答
0

如果您需要 String.Format 的完整功能并且可以替换您的 String.Format 方法,请查看SmartFormat.NET:https://github.com/scottrippey/SmartFormat.NET

它声称与 String.Format 参数兼容,虽然它不具备您需要的功能,但可以轻松修改为修剪和填充。(参见 Extensions/DefaultFormatter.cs 第 63 至 84 行)

于 2015-03-19T13:57:00.523 回答
0

一般来说,你可以像 Soner Gönül 所说的那样做到这一点。

string s = "6348725";
TextBox1.Text = string.Format("Your number: {0}", s.Substring(s.Length-6)
于 2013-10-06T11:28:50.263 回答