如何手动设置:kendo-ui numerictextbox的货币
How to manually set : kendo-ui numerictextbox's currency
我有一个显示货币金额的数字文本框。我想显示模型的货币,但数字文本框始终显示文化的货币。对于实验。如果我更改网站的德语语言,则此文本框会显示“€”。我如何显示我模型的货币而不是文化的货币?
或者有没有办法将 numerictextbox 的文化设置为货币的文化?
@(Html.Kendo().NumericTextBox<decimal>()
.Name("amount")
.Min(Model.MinPrice)
.Value(Model.MinPrice)
.Format(Strings.ResourceManager.GetString(Model.Currency.ToString()) + " #.00")
.HtmlAttributes(new { style = "width: 104px;" })
)
此外,当我查看页面源代码时,它显示:
jQuery(function(){jQuery("#Amount").kendoNumericTextBox({"format":"$ #.00"});});
但在页面中它显示“€”(当前文化的货币)而不是 $
任何人都有同样的问题这是工作版本:
<script>
var currCulture = kendo.culture();
currCulture.numberFormat.currency.symbol = '@Strings.ResourceManager.GetString(Model.Currency.ToString())';
</script>
@(Html.Kendo().NumericTextBox<decimal>()
.Name("TicketOptions[" + i + "].Price")
.Min(memberTicketOptions[i].MinPrice)
.Value(memberTicketOptions[i].MinPrice)
.Format(Strings.ResourceManager.GetString(Model.Currency.ToString()) + " #.00")
.HtmlAttributes(new { style = "width: 104px;" })
)
您应该定义 culture
at NumericTextBox
级别覆盖您在页面级别定义的内容。
请记住,您需要包含与您要支持的其他文化相对应的本地化文件。你可能不止一个。
示例包括德语和英语 (GB):
<!-- Include German -->
<script src="https://kendo.cdn.telerik.com/2018.2.516/js/cultures/kendo.culture.de-DE.min.js"></script>
<!-- Include English/GB -->
<script src="https://kendo.cdn.telerik.com/2018.2.516/js/cultures/kendo.culture.en-GB.min.js"></script>
使用多种文化的示例:
$("#deDE").kendoNumericTextBox({
culture: "de-DE",
value: 123.45,
format: "c2"
});
$("#usUS").kendoNumericTextBox({
culture: "us-US",
value: 123.45,
format: "c2"
});
$("#enGB").kendoNumericTextBox({
culture: "en-GB",
value: 123.45,
format: "c2"
});
对货币使用格式cN
,其中N
是小数位数。
跟随显示它的片段。
$("#deDE").kendoNumericTextBox({
culture: "de-DE",
value: 123.45,
format: "c2"
});
$("#usUS").kendoNumericTextBox({
culture: "us-US",
value: 123.45,
format: "c2"
});
$("#enGB").kendoNumericTextBox({
culture: "en-GB",
value: 123.45,
format: "c2"
});
<link rel="stylesheet" href="https://kendo.cdn.telerik.com/2018.2.516/styles/kendo.common.min.css" />
<link rel="stylesheet" href="https://kendo.cdn.telerik.com/2018.2.516/styles/kendo.silver.min.css" />
<link rel="stylesheet" href="https://kendo.cdn.telerik.com/2018.2.516/styles/kendo.mobile.all.min.css" />
<script src="https://code.jquery.com/jquery-1.12.4.min.js"></script>
<script src="https://kendo.cdn.telerik.com/2018.2.516/js/kendo.all.min.js" 0></script>
<!-- Extra culture files -->
<script src="https://kendo.cdn.telerik.com/2018.2.516/js/cultures/kendo.culture.de-DE.min.js"></script>
<script src="https://kendo.cdn.telerik.com/2018.2.516/js/cultures/kendo.culture.en-GB.min.js"></script>
<div>German<input id="deDE" /></div>
<div>USA<input id="usUS" /></div>
<div>GB<input id="enGB" /></div>
在初始化控件之前,您需要更改剑道文化中的当前货币符号:
var currCulture = kendo.culture();
//currCulture.numberFormat.currency.symbol = '¥';
//currCulture.numberFormat.currency.symbol = '€';
//currCulture.numberFormat.currency.symbol = '$';
currCulture.numberFormat.currency.symbol = '@Model.Currency.ToString()';
$("#amount").kendoNumericTextBox({
format: "c",
decimals: 3,
culture: currCulture
});
这将打印您的模型货币符号。
我有一个显示货币金额的数字文本框。我想显示模型的货币,但数字文本框始终显示文化的货币。对于实验。如果我更改网站的德语语言,则此文本框会显示“€”。我如何显示我模型的货币而不是文化的货币? 或者有没有办法将 numerictextbox 的文化设置为货币的文化?
@(Html.Kendo().NumericTextBox<decimal>()
.Name("amount")
.Min(Model.MinPrice)
.Value(Model.MinPrice)
.Format(Strings.ResourceManager.GetString(Model.Currency.ToString()) + " #.00")
.HtmlAttributes(new { style = "width: 104px;" })
)
此外,当我查看页面源代码时,它显示:
jQuery(function(){jQuery("#Amount").kendoNumericTextBox({"format":"$ #.00"});});
但在页面中它显示“€”(当前文化的货币)而不是 $
任何人都有同样的问题这是工作版本:
<script>
var currCulture = kendo.culture();
currCulture.numberFormat.currency.symbol = '@Strings.ResourceManager.GetString(Model.Currency.ToString())';
</script>
@(Html.Kendo().NumericTextBox<decimal>()
.Name("TicketOptions[" + i + "].Price")
.Min(memberTicketOptions[i].MinPrice)
.Value(memberTicketOptions[i].MinPrice)
.Format(Strings.ResourceManager.GetString(Model.Currency.ToString()) + " #.00")
.HtmlAttributes(new { style = "width: 104px;" })
)
您应该定义 culture
at NumericTextBox
级别覆盖您在页面级别定义的内容。
请记住,您需要包含与您要支持的其他文化相对应的本地化文件。你可能不止一个。
示例包括德语和英语 (GB):
<!-- Include German -->
<script src="https://kendo.cdn.telerik.com/2018.2.516/js/cultures/kendo.culture.de-DE.min.js"></script>
<!-- Include English/GB -->
<script src="https://kendo.cdn.telerik.com/2018.2.516/js/cultures/kendo.culture.en-GB.min.js"></script>
使用多种文化的示例:
$("#deDE").kendoNumericTextBox({
culture: "de-DE",
value: 123.45,
format: "c2"
});
$("#usUS").kendoNumericTextBox({
culture: "us-US",
value: 123.45,
format: "c2"
});
$("#enGB").kendoNumericTextBox({
culture: "en-GB",
value: 123.45,
format: "c2"
});
对货币使用格式cN
,其中N
是小数位数。
跟随显示它的片段。
$("#deDE").kendoNumericTextBox({
culture: "de-DE",
value: 123.45,
format: "c2"
});
$("#usUS").kendoNumericTextBox({
culture: "us-US",
value: 123.45,
format: "c2"
});
$("#enGB").kendoNumericTextBox({
culture: "en-GB",
value: 123.45,
format: "c2"
});
<link rel="stylesheet" href="https://kendo.cdn.telerik.com/2018.2.516/styles/kendo.common.min.css" />
<link rel="stylesheet" href="https://kendo.cdn.telerik.com/2018.2.516/styles/kendo.silver.min.css" />
<link rel="stylesheet" href="https://kendo.cdn.telerik.com/2018.2.516/styles/kendo.mobile.all.min.css" />
<script src="https://code.jquery.com/jquery-1.12.4.min.js"></script>
<script src="https://kendo.cdn.telerik.com/2018.2.516/js/kendo.all.min.js" 0></script>
<!-- Extra culture files -->
<script src="https://kendo.cdn.telerik.com/2018.2.516/js/cultures/kendo.culture.de-DE.min.js"></script>
<script src="https://kendo.cdn.telerik.com/2018.2.516/js/cultures/kendo.culture.en-GB.min.js"></script>
<div>German<input id="deDE" /></div>
<div>USA<input id="usUS" /></div>
<div>GB<input id="enGB" /></div>
在初始化控件之前,您需要更改剑道文化中的当前货币符号:
var currCulture = kendo.culture();
//currCulture.numberFormat.currency.symbol = '¥';
//currCulture.numberFormat.currency.symbol = '€';
//currCulture.numberFormat.currency.symbol = '$';
currCulture.numberFormat.currency.symbol = '@Model.Currency.ToString()';
$("#amount").kendoNumericTextBox({
format: "c",
decimals: 3,
culture: currCulture
});
这将打印您的模型货币符号。