format - MudBlazor 文本字段中的格式绑定双重属性
问题描述
我有一个双值模型,它以这种方式绑定到 MudTextfield:
<MudTextField @bind-Value="product.Price" Label="Price"/>
@code {
Product product = new Product { Name="Test-Abo", Price=199.12345 }
}
MudTextfield 将双精度转换为字符串,并且在编辑字符串时将其转换回双精度,因此可以正常工作。但是我有两个问题:
- 在我的文化中,小数点写为逗号,因此文本字段显示逗号,但我希望像 C# 中那样有一个小数点。
- 我希望文本字段将小数截断为两位,即使模型中的值有更多
我该怎么做?
解决方案
在MudTextField上有几个选项可以将 type 的值T
(在您的情况下double
)转换为string
:
您可以使用:
Culture
... 覆盖默认的 UI Culture
Format
... 覆盖 ToString() 格式
这些实际上将配置默认转换器
或者:
Converter
...用自定义转换器覆盖默认转换器,在 T 和字符串之间使用您自己的转换函数,反之亦然。
要解决您的问题,请设置Culture
to Invariant
which 将始终使用点 (.) 作为小数分隔符,并设置Format
to "F2"
which 会将您的浮点值截断为两位小数:
<MudTextField @bind-Value="product.Price" Label="Price" Format="F2"
Culture="@CultureInfo.InvariantCulture"/>
推荐阅读
- bash - Bash脚本在动态变量上更改部分文件夹路径
- python - 尝试将 pandas 数据框导出为 excel 文件时出错
- javascript - 如何使用 NodeJS 和 Yahoo! 发出 POST 请求 梦幻体育API
- c++ - ',' 标记之前应为 ')' - SFML 创建 RectangleShape
- python - 使用 N 个工作人员执行多处理任务列表的最佳方法?
- algorithm - 水壶问题GCD解决方法解释
- javascript - Puppeteer 无法在特定的输入字段中写入
- java - 在 JMH 中的每个基准测试之后恢复 Java 列表状态
- react-native - ReactNative:使用 Axios 将图像文件上传到服务器不起作用
- c++ - macosx 上信号处理程序中的 rip 寄存器值