简体   繁体   中英

formatting string in C#?

I've a predefined string format. For instance '>>>,>>>,>>9.99' this means that the system should display string in this '500,000,000.10'. The format can change based on the users using it. How can I write a common function to display stings on the given format passing the input value and the format as the parameter using C#

您可以将ToString方法与标准自定义格式字符串一起使用

For example:

string format = "{0:000,000,000.00}";
string val = 12.3456;
Console.WriteLine(string.Format(format, value)); // it prints "000,000,123.23"

You can read more about formating values here http://www.csharp-examples.net/string-format-double/

decimal value = 1.2345; 
string rounded = value.ToString("d2");
private string sDecimalFormat = "0.00";

decimal d = 120M;

txtText.Text = d.ToString(sDecimalFormat);

You could then have a setting for decimal format eg:

txtText.Text = d.ToString(Settings.DecimalFormat);

String.formate can be used for formating.

Go there if you want examples http://www.csharp-examples.net/string-format-double/

I think the following might work:

String result = String.Format(fmt.Replace('>', '#').Replace('9', '0'), inpString);

fmt being the format you want to use and inpString being the string entered by the user.

Just replace the > with # and the 9 with 0 and it'll be a valid .Net formatstring.

There is a Format method on String .

String.Format("{0:X}", 10); // prints A (hex 10)

There are several methods to format numbers , date ...

I dont seem to understand how you can make 500,000,000.10 from >>>,>>>,>>9.99' but I believe the answer would be

But I assume something you are looking for is: string.Format("500,000,00{0:0.##}", 9.9915)

You can then make a method like

Public string GetString(string Format, object value)
{
     return string.Format(Format, value);
}

Something like this?

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM