REGEX 在 MVC4 Razor 中使用上标格式化小数 / Javascript

REGEX to format decimals using superscript in MVC4 Razor / Javascript

我正在尝试使用上标格式化货币小数,例如$1.08 而不是 $1.08。目前,我的模型货币变量(假设 1.08 值)显示为 .08 使用模型模板和 MVC4 Razor / Javascript:

[Range(0, 10000)]
[DataType(DataType.Currency)]
[DisplayFormat(DataFormatString = "{0:C}")]
public decimal Price { get; set; }

@{
    @Html.Display(model => model.Price)
}

相反,我尝试使用 REGEX 提取和格式化小数,但它仍然显示为 .08(P.S。此时货币本地化并不重要):

@{
    var numRaw = Model.Price;
    var numSty = numRaw.ToString.Replace("(?<=\.)([^.]*$)", "<sup></sup>");
    @Html.Raw(numSty);
}

注意双反斜杠 \. 转义。搜索表达式似乎 work correctly.

我在 "<sup></sup>" 替换字符串中做错了什么吗?

根据@AndrewB 和@SimonMcKenzie,Regex.Replace() 必须用于 Razor 才能工作。以下代码按预期显示 $1.08

@using System.Text.RegularExpressions

@Html.Raw("$"+Regex.Replace(Math.Round(Model.Price,2).ToString(), "(?<=\.)([^.]*$)", "<sup></sup>"));