首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何格式化包含数字和字符的字符串

如何格式化包含数字和字符的字符串
EN

Stack Overflow用户
提问于 2017-12-07 14:24:27
回答 2查看 215关注 0票数 1

我有下面的字符串"2017-2",我需要将它格式化为"2017-02"

代码语言:javascript
复制
var period = "2017-2";
var periodFormatted = String.Format("{0:0000-00}", period);  

periodFormatted返回"2017-2"

将句点格式化为"2017-02"的正确语法是什么?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2017-12-07 14:29:21

string.Format不会知道(或关心)您的字符串包含数字,所以您不能直接这样格式化。不过,您可以拆分字符串并将最后一部分解析为数字。例如:

代码语言:javascript
复制
var period = "2017-2";
var parts = period.Split('-');;
var periodFormatted = $"{parts[0]}-{int.Parse(parts[1]):D2}";

但是,您可能首先应该将period值作为适当的DateTime对象(或者表示年份和月份值的自定义类型),这使得格式化变得非常简单。

票数 2
EN

Stack Overflow用户

发布于 2017-12-07 14:48:14

您可以将输入-string解析为DateTime,并在第二步对其进行格式化。

代码语言:javascript
复制
string period = "2017-2"; 
DateTime temp = DateTime.ParseExact(period, "yyyy-M", CultureInfo.InvariantCulture );
string result = temp.ToString("yyyy-MM");

注意:M定义没有前导的月份,0MM总是2位数的月份。

参考资料:https://learn.microsoft.com/en-us/dotnet/standard/base-types/custom-date-and-time-format-strings

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/47697195

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档