gpt4 book ai didi

c# - 有没有办法让 XAML/C# StringFormat 显示较大金额的整美元,但较小金额的美分?

转载 作者:太空狗 更新时间:2023-10-29 22:55:30 25 4
gpt4 key购买 nike

在 XAML 中,很容易使用 StringFormat='$#,0;$-#,0;Nil' 将绑定(bind)的整数变量显示为格式良好的美元金额。例如,1024 将显示为“$1,024”。

我需要处理从几美分到几百美元不等的数字 - 所以 0.45 应该显示为“$0.45”,但任何大于某个阈值(1?9.99? ) 应显示为完整的美元金额。例如。 12.73 应显示为“$13”。

在我继续写一些比较困惑和具体的代码之前,有没有人有一个很好的聪明的方法来做到这一点?理想情况下,所有内容都在 StringFormat 中 :)

最佳答案

我看不出如何将所有这些逻辑放入 StringFormat 中。

我认为最干净的方法是IValueConverter 实现。您可以使用转换器参数来设置阈值,以便转换器可以重复使用并且没有硬编码值。

除非您正在使用双向绑定(bind),并且如果您正在实现 MVVM,在 View 模型中使用一个字符串变量可能更可取,该变量基于整数值返回显示值。

关于c# - 有没有办法让 XAML/C# StringFormat 显示较大金额的整美元,但较小金额的美分?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3723524/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com