Create customized format for Complex
using System;
using System.Text;
using System.Globalization;
public struct Complex : IFormattable
{
public Complex( double real, double imaginary ) {
this.real = real;
this.imaginary = imaginary;
}
public string ToString( string format,IFormatProvider formatProvider ) {
StringBuilder sb = new StringBuilder();
if( format == "DBG" ) {
sb.Append( this.GetType().ToString() + "\n" );
sb.AppendFormat( "\treal:\t{0}\n", real );
sb.AppendFormat( "\timaginary:\t{0}\n", imaginary );
} else {
sb.Append( "( " );
sb.Append( real.ToString(format, formatProvider) );
sb.Append( " : " );
sb.Append( imaginary.ToString(format, formatProvider) );
sb.Append( " )" );
}
return sb.ToString();
}
private double real;
private double imaginary;
}
public class MainClass
{
static void Main() {
CultureInfo local = CultureInfo.CurrentCulture;
CultureInfo germany = new CultureInfo( "de-DE" );
Complex cpx = new Complex( 12.3456, 1234.56 );
string strCpx = cpx.ToString( "F", local );
Console.WriteLine( strCpx );
strCpx = cpx.ToString( "F", germany );
Console.WriteLine( strCpx );
Console.WriteLine( "\nDebugging output:\n{0:DBG}", cpx );
}
}
Output ( 12.35 : 1234.56 )
( 12,35 : 1234,56 )
Debugging output:
Complex
real: 12.3456
imaginary: 1234.56
|
HTML code for linking to this page:
Related in same category :
-
|
|