用户注册



邮箱:

密码:

用户登录


邮箱:

密码:
记住登录一个月忘记密码?

发表随想


还能输入:200字
云代码 - c#代码库

转换为科学计数法

2012-10-19 作者: 程序猿style举报

[c#]代码库

public class ScienceCount
{
	public static string KXJSF ( double num )
	{
		double bef = System.Math.Abs ( num );
		int aft = 0;
		while ( bef >= 10 || ( bef < 1 && bef != 0 ) )
		{
			if ( bef >= 10 )
			{
				bef = bef / 10;
				aft++;
			}
			else
			{
				bef = bef * 10;
				aft--;
			}
		}
		return string.Concat ( num >= 0 ? "" : "-", ReturnBef ( bef ), "E", ReturnAft ( aft ) );
	}
	///
	/// 有效数字的处理
	///
	/// 有效数字
	/// 三位有效数字,不足则补零
	public static string ReturnBef ( double bef )
	{
		if ( bef.ToString() != null )
		{
			char[] arr = bef.ToString().ToCharArray();
			switch ( arr.Length )
			{
			case 1:
			case 2:
				return string.Concat ( arr[0], ".", "00" );
				break;
			case 3:
				return string.Concat ( arr[0] + "." + arr[2] + "0" );
				break;
			default:
				return string.Concat ( arr[0] + "." + arr[2] + arr[3] );
				break;
			}
		}
		else
			return "000";
	}
	///
	/// 幂的处理
	///
	/// 幂数
	/// 三位幂数部分,不足则补零
	public static string ReturnAft ( int aft )
	{
		if ( aft.ToString() != null )
		{
			string end;
			char[] arr = System.Math.Abs ( aft ).ToString().ToCharArray();
			switch ( arr.Length )
			{
			case 1:
				end = "0" + arr[0];
				break;
			case 2:
				end =  arr[0].ToString() + arr[1];
				break;
			default:
				end = System.Math.Abs ( aft ).ToString();
				break;
			}
			return string.Concat ( aft >= 0 ? "+" : "-", end );
		}
		else
			return "+00";
	}
}


网友评论    (发表评论)

共1 条评论 1/1页

发表评论:

评论须知:

  • 1、评论每次加2分,每天上限为30;
  • 2、请文明用语,共同创建干净的技术交流环境;
  • 3、若被发现提交非法信息,评论将会被删除,并且给予扣分处理,严重者给予封号处理;
  • 4、请勿发布广告信息或其他无关评论,否则将会删除评论并扣分,严重者给予封号处理。


扫码下载

加载中,请稍后...

输入口令后可复制整站源码

加载中,请稍后...