我想使用 Antd 的<InputNumber />组件作为货币输入,并且我正在使用官方文档建议的内容:
<InputNumber
min={0}
size="large"
style={{ width: 400 }}
formatter={value => `$ ${value}`.replace(new RegExp(/\B(?=(\d{3})+(?!\d))/g), ',')}
parser={value => value.replace(new RegExp(/\$\s?|(,*)/g), '')}
/>
Run Code Online (Sandbox Code Playgroud)
但我希望我可以像小数点分隔符一样使用逗号数字:R$ 17.350,70
输入货币信息的正确正则表达式格式和解析器是什么?
我有日期字符串,例如03/10/1999格式是dd/MM/yyyy(pt-BR格式)。
而且我需要将此日期转换为类似SQL的格式yyyy-MM-dd HH:mm:ss.fff。
我尝试使用Parse和ParseExact函数,但到目前为止没有成功。我将下面的结果...
使用解析
var BrazilianDate = "03/10/1999";
var Parse = DateTime.Parse(BrazilianDate, new CultureInfo("pt-BR"));
Console.WriteLine("Parsed date: " + Parse);
Run Code Online (Sandbox Code Playgroud)
输出: Parsed date: 10/3/1999 12:00:00 AM
没有连字符或毫秒...
使用ParseExact
var BrazilianDate = "03/10/1999";
var ParseExact = DateTime.ParseExact(BrazilianDate, "yyyy-MM-dd HH:mm:ss.fff", new CultureInfo("pt-BR"));
Console.WriteLine(ParseExact);
Run Code Online (Sandbox Code Playgroud)
输出:
运行时异常(第-1行):字符串未被识别为有效的DateTime。
堆栈跟踪:
[System.DateTimeParse.ParseExact(String s,字符串格式,DateTimeFormatInfo dtfi,DateTimeStyles样式),位于System.DateTime.ParseExact(String s,字符串格式,IFormatProvider提供者)处的[System.FormatException:字符串未被识别为有效的DateTime。]在Program.Main()