double 数值如何 计算 最高位??? 我想实现 这样一种功能。比如double vl = 123.2323我想通过什么方法可以使 vl值最后得到 的结果 最高位升1 结果为 200 最高位不变 结果为 100后面位数都变成零 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 55555555555555555555就是 一个double型 值,计算后只有最高位变化。其它位都变成0比如 double vl = 123.333(只是初始值)方法1 计算后 可得到结果 100. (其实就是将初始值的 最高位保留,其它位取0)方法2 计算后 可得到结果 200. (其实就是将初始值的 最高位加1,其它位取0)我想问 方法1 和方法2 如何实现。 double v1 = 123.2323;int v2 = (Convert.ToInt32(v1 / 100) + 1) * 100;int v3 = Convert.ToInt32(v1 / 100)*100; double vl = 123.333;double r1 = ((int)v1/100)*100;double r2 = ((int)v1/100+1)*100; using System;using System.Text.RegularExpressions;class Program{ static void Main() { double vl = 29999.99999; Console.WriteLine(方法1(vl)); } static double 方法1(double x) { return double.Parse(new Regex("(?!^).").Replace(((int)x).ToString(), "0")); }} 都有这习惯,初期,对.net框架不熟悉,总怕自己写的功能是系统提供的,最后代码质量和效率不高。这个出发点,问的话。还行。不过你描述的的确太模糊了。 直接return Convert.ToDouble((Convert.ToInt32(vl.ToString().SubString(0,1))+1).ToString()+v1.ToString().SubString(1,v1.ToString().Length)-1); 空军的,修改一点点,(?!^)\dusing System;using System.Text.RegularExpressions;class Program{ static void Main() { double vl = 29999.99999; Console.WriteLine(方法1(vl)); } static double 方法1(double x) { return double.Parse(new Regex(@"(?!^)\d").Replace(((int)x).ToString(), "0")); }} using System;using System.Text.RegularExpressions;class Program{ static void Main() { double vl = 34567.89; Console.WriteLine(方法1(vl)); Console.WriteLine(方法2(vl)); } static double 方法1(double x) { return double.Parse(new Regex("(?!^).").Replace(((int)x).ToString(), "0")); } static double 方法2(double x) { string s1 = Regex.Replace(((int)x).ToString(), "(?!^).", "0"); string s2 = Regex.Replace(s1, "^.", "1"); return double.Parse(s1) + double.Parse(s2); }} 来一个不用正则表达式的:using System;class Program{ static void Main() { double vl = 234.56789; Console.WriteLine(方法1(vl)); } static double 方法1(double x) { string s = ((int)x).ToString(); return double.Parse(s[0] + new string('0', s.Length - 1)); }} 这样就也能处理负数了:using System;using System.Text.RegularExpressions;class Program{ static void Main() { double vl = 4567.89; Console.WriteLine(方法1(vl)); Console.WriteLine(方法2(vl)); double v2 = -4567.89; Console.WriteLine(方法1(v2)); Console.WriteLine(方法2(v2)); } static double 方法1(double x) { return double.Parse(Regex.Replace(((int)x).ToString(), "(?<=\\d).", "0")); } static double 方法2(double x) { string s1 = Regex.Replace(((int)x).ToString(), "(?<=\\d).", "0"); string s2 = Regex.Replace(s1, "^(-?).", "${1}1"); return double.Parse(s1) + double.Parse(s2); }} private static double toHigh(double value) { string valueString = value.ToString("E"); return double.Parse(valueString.Substring(0, valueString.IndexOf('.')) + valueString.Substring(valueString.LastIndexOf('E'))); } 91坛子是一个论坛浏览管理工具,支持在线浏览, 离线浏览, 帖子收藏, 搜索等功能.目前支持的论坛有天涯, 百度贴吧, 猫扑, Yahoo, csdn, 西祠胡同, 网龙的91论坛、VIP论坛及国内第一的科研论坛"小木虫".官方站点: http://rj.91.com/tanzi/ 看帖子就是方便,看过或预读的帖子,想什么时候看都可以,不怕原帖是否已被删除! double func(double value){ int b=(double)value; //该循环取出valude的最高位为b; int nCount=0; do{ b=b/10; nCount++; }while(b>9); return ( b*pow(10,nCount) ) ;} 这样就可以处理负数double func(double value){ int b=(double)value; //该循环取出valude的最高位为b; int nCount=0; do{ b=b/10; nCount++; }while(abs(b)>9); return ( b*pow(10,nCount) ) ;} 报表参数传递 C/S结构的上传下载 webbrowser 登录的问题 C语言中随机赋值 怎么获取命令行执行后的结果? 请问哪有mapX的ActiveX控件下载? 目录位置 请大家讨论下:MDA、ORM、ObjectSpace的相似点和不同点?请各位高手踊跃发言! ASP.net中用DataGrid怎样实现把鼠标放上去就能显示文章详细信息?(完整标题,作者,点击次数) 小弟变了一个邮件发送程序!!!程序并没报错!!但却收不到,为什么!!! EntityDataModel创建ObjectContext对象的问题 可不可以把Dictionary转换成datatable
方法2 计算后 可得到结果 200. (其实就是将初始值的 最高位加1,其它位取0)我想问 方法1 和方法2 如何实现。
int v2 = (Convert.ToInt32(v1 / 100) + 1) * 100;
int v3 = Convert.ToInt32(v1 / 100)*100;
double r1 = ((int)v1/100)*100;
double r2 = ((int)v1/100+1)*100;
using System.Text.RegularExpressions;class Program
{
static void Main()
{
double vl = 29999.99999;
Console.WriteLine(方法1(vl));
}
static double 方法1(double x)
{
return double.Parse(new Regex("(?!^).").Replace(((int)x).ToString(), "0"));
}
}
空军的,修改一点点,
(?!^)\dusing System;
using System.Text.RegularExpressions;class Program
{
static void Main()
{
double vl = 29999.99999;
Console.WriteLine(方法1(vl));
} static double 方法1(double x)
{
return double.Parse(new Regex(@"(?!^)\d").Replace(((int)x).ToString(), "0"));
}
}
using System.Text.RegularExpressions;class Program
{
static void Main()
{
double vl = 34567.89;
Console.WriteLine(方法1(vl));
Console.WriteLine(方法2(vl));
}
static double 方法1(double x)
{
return double.Parse(new Regex("(?!^).").Replace(((int)x).ToString(), "0"));
}
static double 方法2(double x)
{
string s1 = Regex.Replace(((int)x).ToString(), "(?!^).", "0");
string s2 = Regex.Replace(s1, "^.", "1");
return double.Parse(s1) + double.Parse(s2);
}
}
using System;class Program
{
static void Main()
{
double vl = 234.56789;
Console.WriteLine(方法1(vl));
}
static double 方法1(double x)
{
string s = ((int)x).ToString();
return double.Parse(s[0] + new string('0', s.Length - 1));
}
}
using System;
using System.Text.RegularExpressions;class Program
{
static void Main()
{
double vl = 4567.89;
Console.WriteLine(方法1(vl));
Console.WriteLine(方法2(vl)); double v2 = -4567.89;
Console.WriteLine(方法1(v2));
Console.WriteLine(方法2(v2));
}
static double 方法1(double x)
{
return double.Parse(Regex.Replace(((int)x).ToString(), "(?<=\\d).", "0"));
}
static double 方法2(double x)
{
string s1 = Regex.Replace(((int)x).ToString(), "(?<=\\d).", "0");
string s2 = Regex.Replace(s1, "^(-?).", "${1}1");
return double.Parse(s1) + double.Parse(s2);
}
}
{
string valueString = value.ToString("E");
return double.Parse(valueString.Substring(0, valueString.IndexOf('.')) + valueString.Substring(valueString.LastIndexOf('E')));
}
目前支持的论坛有天涯, 百度贴吧, 猫扑, Yahoo, csdn, 西祠胡同, 网龙的91论坛、VIP论坛及国内第一的科研论坛"小木虫".官方站点: http://rj.91.com/tanzi/ 看帖子就是方便,看过或预读的帖子,想什么时候看都可以,不怕原帖是否已被删除!
double func(double value)
{
int b=(double)value; //该循环取出valude的最高位为b;
int nCount=0;
do{
b=b/10;
nCount++;
}while(b>9);
return ( b*pow(10,nCount) ) ;
}
double func(double value)
{
int b=(double)value; //该循环取出valude的最高位为b;
int nCount=0;
do{
b=b/10;
nCount++;
}while(abs(b)>9);
return ( b*pow(10,nCount) ) ;
}