【发布时间】:2012-06-06 20:00:16
【问题描述】:
也许这是一个 n00b 问题,但我已经查看了 .net/C# MSDN Library 和这个站点,但还没有得到明确的答案......说我有 For Ex: (这不是完全的问题,因为我不是在创建字符串,而是从数据库中读取它们。但可以说明我正在使用什么......)
string dob = "01/02/1990";
dob.ToString("MM/dd/YY"); //however, I can't do this. compiler gives me an error...
可能是因为它已经是一个字符串?那么,当它已经是一个字符串时,我如何才能使用说明符将字符串转换为我想要的格式? 我知道我可以将它转换为其他东西(Ex 的 DateTime)并使用 ToString() 转换回字符串……但这似乎适得其反……至少对我来说
我还有其他几种“类型”的字符串变量,我试图将它们显示为特定格式,同时将它们保存到 Idictionary 以打印到 pdf 的字段中。 例如:
d["amount"] = prod.sales.StringAmount; //(here StringSmount holds say 50000 (gotten from a DB), which I want to display as "50,000")
但是,我也不能做 prod.sales.StringAmount.ToString("N", CultureInfo.CurrentUICulture);因为它已经是一个字符串!有没有简单的方法来做到这一点
或者我需要弄乱字符串缓冲区或 StringBuilder 类吗? 谢谢!
【问题讨论】:
-
仅供参考,您可以在字符串上调用
ToString()没问题 - 但您为什么要这样做? -
为什么不将
dob设为DateTime对象,并隐蔽使用ToString()...您的dob.ToString("MM/dd/YY")也缺少分号 -
我在字符串上调用 ToString() 的原因:我已经将字符串字段从数据库加载到 biz 对象中......并且我 必须 对它们进行格式化以便它们打印很好地变成了pdf。因此,我不知道是否有一种简单的方法可以做到这一点。即:说我有:
-
var strdate = "07/20/1997"; var newstrdatefomat = strdate.ToString("MM/dd/yy");但我遇到了错误。我现在看到我将不得不使用 String.Format() 或转换并重新转换回字符串...谢谢大家的提示!
标签: c# string methods formatting .net