查看: 109|回复: 5|关注: 0

[已解决] 怎么交换十进制数里面指定位的数值?亲们注意是十进制

[复制链接]

新手

7 麦片

财富积分


050


1

主题

4

帖子

0

最佳答案
比如说,现在有两个数:
a=0.1345;
b=0.5267;
我现在想交换它们的百分位上的数值,使结果为:
a=0.1245;
b=0.5367;
也就是百分位交换,其他不变。

如果是二进制,好像是有直接的命令的,那么如果是十进制呢?

论坛优秀回答者

权威

9056 麦片

财富积分



9

主题

1万

帖子

1986

最佳答案
  • 关注者: 486
发表于 7 天前 | 显示全部楼层 |此回复为最佳答案
  1. a=0.1345;
  2. b=0.5267
  3. sa=num2str(a)
  4. sb=num2str(b)
  5. [sa(4) sb(4)]=deal(sb(4),sa(4))
  6. a=str2num(sa)
  7. b=str2num(sb)
复制代码

新手

7 麦片

财富积分


050


1

主题

4

帖子

0

最佳答案
 楼主| 发表于 7 天前 | 显示全部楼层

哇,拜谢大佬!!!能不能给小弟讲解一下deal( sb(4),sa(4) )这句是个什么思路?:lol

新手

7 麦片

财富积分


050


1

主题

4

帖子

0

最佳答案
 楼主| 发表于 7 天前 | 显示全部楼层
奥看懂了~~~感谢感谢!字符串的话,第一位是0,第二位是.,第三位是十分位,大佬666666666

入门

56 麦片

财富积分


50500


0

主题

29

帖子

4

最佳答案
  • 关注者: 1
发表于 7 天前 | 显示全部楼层
希望对你有帮助
a = 0.1345;
b = 0.5267;
a = num2str(a);
b = num2str(b);
a1 = a(4) ;
b1 = b(4);
a2 = [a(1:3),b1,a(5:end)];
b2 = [b(1:3),a1,b(5:end)];
a3 = str2num(a2);
b3 = str2num(b2);

新手

7 麦片

财富积分


050


1

主题

4

帖子

0

最佳答案
 楼主| 发表于 7 天前 | 显示全部楼层
秦zz_yZcWr 发表于 2019-3-15 13:22
希望对你有帮助
a = 0.1345;
b = 0.5267;

哈哈,感谢感谢~~:lol
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

站长推荐上一条 /3 下一条

快速回复 返回顶部 返回列表