如何确保使用“。”传递十进制值。我在asp.net Core中使用API​​时的分隔符?

时间:2017-12-13 14:29:41

标签: asp.net asp.net-web-api asp.net-core locale asp.net-core-2.0

我制作了一个看起来像这样的API

    [HttpPost]
    [Route("/products")]
    public async Task<IActionResult> Add([FromBody]ProductDTO productDTO) {
        Product newProduct = await _productsService.Add(productDTO);
        return Ok(Mapper.Map<ProductDTO>(newProduct));
    }

ProductDTO具有Price属性并具有小数类型。

我想确保如果将我的应用程序移动到具有不同语言环境的另一台服务器,它仍然会接受“。”作为分隔符。例如,如果我将它移动到意大利语中具有语言环境的服务器,我想确保分隔符不会更改为“,”。

在Startup.Configure中设置文化信息是否解决了我的问题?

var cultureInfo = new CultureInfo("en-US");

cultureInfo.NumberFormat.CurrencyDecimalSeparator = ".";
CultureInfo.DefaultThreadCurrentCulture = cultureInfo;
CultureInfo.DefaultThreadCurrentUICulture = cultureInfo;

我尝试更改我当前用于开发的计算机的区域设置,并且它可以正常工作。但我想知道他/她将应用程序部署到另一台服务器时是否有问题。

0 个答案:

没有答案