当前位置:  开发笔记 > 编程语言 > 正文

随机漂浮在一个范围内?

如何解决《随机漂浮在一个范围内?》经验,为你挑选了1个好方法。

我想在15.00和40.00之间创建一个随机数,用于计算.具体任务是建立一个程序,该程序接收售出的门票数量并计算这些门票销售的总收入,其中三种门票类型具有固定的价格值,其中一种门票类型具有随机价格值15.00美元和40.00美元.我怎样才能做到这一点?

我已经接近这一点了,但前提是我将mystmax和mystmin声明为'int'.我希望它们是双倍的,所以我可以得到15.00美元到40.00美元之间的每个小数值:

  unsigned seed = time(0);

    srand(seed);
    double mystery = (rand() % (mystmax - mystmin+1))+mystmin;

这是我尝试将min和max作为双精度时得到的错误:

"类型'int'和'double'到二进制'运算符%'的操作数无效"

我该怎么做才能解决这个问题?



1> Lightness Ra..:

别.

你既不需要也不想要货币的浮点数.

有一些方法可以使它工作(std::uniform_real_distribution将给你浮点随机值),但这样做有很多问题(为启动器舍入错误),你只需要这两个货币值之间的所有无穷小数值.

所以,坚持一个整数,在你的情况下计算便士(美分?).如果你想转换成整数(美元?),最后除以100输出.

推荐阅读
jerry613
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有