C#怎么把1250变成1300

挂日的木木 2010-06-26 11:47:01
C#怎么把1250变成1300用函数

1250不是一个固定的值,

可能是要把1333333000变成1400000000
520变成550
520变成600
...全文
261 32 打赏 收藏 转发到动态 举报
写回复
用AI写文章
32 条回复
切换为时间正序
请发表友善的回复…
发表回复
dylike 2010-06-28
  • 打赏
  • 举报
回复
有规律的变化才可以用程序来做.
先找出规律再考虑如果去实现.
gxingmin 2010-06-27
  • 打赏
  • 举报
回复
1333333000变成1400000000

fun(1333333000,9);
gxingmin 2010-06-27
  • 打赏
  • 举报
回复
修改一下代码

//len参数表示a从右往左数开始进1的长度,如(67,1)表示个位7进1等于70,(1250,2)表示十位5进1等于1300)
private int fun(int a, int len)
{
double b = a / (Math.Pow(10,len));
int n = (int)(Math.Ceiling(b) * (Math.Pow(10, len)));
return n;
}

//测试
Console.WriteLine(fun(66,1));
Console.WriteLine(func(1250,2));


输出结果:
70
1300
gxingmin 2010-06-27
  • 打赏
  • 举报
回复
 private int fun(int a, int len)
{
double b = a / (Math.Pow(10,len-1));
int n = (int)(Math.Ceiling(b) * (Math.Pow(10, len-1)));
return n;
}

//测试
Console.WriteLine(fun(66,2));
Console.WriteLine(func(1250,3));


输出结果:
70
1300
hhc123 2010-06-27
  • 打赏
  • 举报
回复
[Quote=引用 24 楼 keyouea 的回复:]

--------强烈声明,本站老是提示登陆的方式真垃圾,垃圾,用户体验在哪里,在哪里....
[/Quote]
我用Firefox现在不用一直登陆了
keyouea 2010-06-27
  • 打赏
  • 举报
回复
--------强烈声明,本站老是提示登陆的方式真垃圾,垃圾,用户体验在哪里,在哪里....
keyouea 2010-06-27
  • 打赏
  • 举报
回复
楼住,做程序前还是先去做实施吧,
程序贵在需求,不过做需求也不是一般的人能做的,无米之炊啊,痛苦
li45214521 2010-06-27
  • 打赏
  • 举报
回复
晕 没看懂
我估计LZ想要的是 :当前给定的数值A,然后从自己想要的集合{b1,b2,b3,b4,b5....}中,选个与A最接近的数?
这样的话 很简单的。。
jianuMan 2010-06-27
  • 打赏
  • 举报
回复
520变成550
520变成600

?
520 到底是变成 550 还是600

楼主说不清楚 我们没办法帮你
binadan 2010-06-27
  • 打赏
  • 举报
回复
520可以变成550又可以变成600 这个难道是随机的?
gyrozju 2010-06-27
  • 打赏
  • 举报
回复
无敌的逻辑
birdlonger 2010-06-27
  • 打赏
  • 举报
回复
呵呵,楼主很厉害.问题描述超级不清楚啊.

数字处理,基本是 按位处理.对应位上的操作. (数字/10 操作)
至于你说的哪个神奇的520 =600 =550 的问题,估计你想要用Random()来处理逻辑吧.(每次可以具体控制范围)
其他的就是写下,就完了.
挂日的木木 2010-06-26
  • 打赏
  • 举报
回复
我还可以用最笨的方法,-》字符串截断-》转换一个数字-》拼凑-》我所需要的数字字符串-》转换为一个数字..................
挂日的木木 2010-06-26
  • 打赏
  • 举报
回复
vrhero 大哥 我要的误差不一定这么大啊 1333333333 我可能要1333400000
挂日的木木 2010-06-26
  • 打赏
  • 举报
回复
很多人看不懂啊,不哈意思 我现在告诉你们我要的答案吧,
我想要一个接近并大于我原来那个数的数
假如我原来的数是64
我想要65
或者要70
vrhero 2010-06-26
  • 打赏
  • 举报
回复
基础的乘除法舍入法你不会?

你这几个样例包含了三种不同的规则...

1.四舍五入(1250/100)*100=1300

2.取整(520/100)*100=600,1333333000同...

3.自定义舍入规则(520/100)*100=550

自己思考去吧...
挂日的木木 2010-06-26
  • 打赏
  • 举报
回复
非得用截断拼凑么
Sillen 2010-06-26
  • 打赏
  • 举报
回复
看不懂的需求
挂日的木木 2010-06-26
  • 打赏
  • 举报
回复
healer_kx 大哥说的是四舍五入了, 您的意思是除一下 干掉小数,再乘吧
可我想要大于我原来的那个数字,64 我要70 或者 65
挂日的木木 2010-06-26
  • 打赏
  • 举报
回复

int a=66;
int b=函数(a,函数的长度);
结果 b 就等于70 了
加载更多回复(12)

110,533

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧