Blazor 使用 double 来设置组件的位置使用逗号而不是点( 10,5% 而不是 10.5%)

Blazor using double to set position of component use a comma instead of a dot ( 10,5% in stead of 10.5%)

当我设置 Blazor 组件的位置时,它发送到浏览器 10,5 而不是 10.5。我想它应该用不变的文化来完成,但我找不到在哪里添加它。

style="position: relative ; top: @(_offsetY)%; left: @(_offsetX)%;"

private double _offsetX = 10.5;
private double _offsetY = 10.5;

从文本字符串中呈现数字和日期是区分文化的,因此如果浏览器具有非英语文化,例如DE-de(德语)它将遵循该约定。

按照建议使用 ToString() 将解决此问题。

@(_offsetY.ToString(System.Globalization.CultureInfo.InvariantCulture))%

您可能需要代码中的辅助函数来简化此过程,例如

  string Percentage(double value) => value.ToString(System.Globalization.CultureInfo.InvariantCulture)) + "%";