将float舍入为整数

时间:2014-12-01 00:22:09

标签: python

Hello智能程序员:

我有一个关于在python中舍入到最接近的1的问题。

以下是我的输出:

 ============Birth Month Distribution============
            Number  Percent

 January    2       7.41
 February   2       7.41
 March      2       7.41
 April      2       7.41
 May        2       7.41
 June       2       7.41
 July       2       7.41
 August     2       7.41
 September  2       7.41
 October    2       7.41
 November   3       11.11
 December   4       14.81


==================== Histogram ====================

    |------------------------------------------------------------------------------------------------
01  |  **  **  **  **  **  **  ** 
02  |  **  **  **  **  **  **  ** 
03  |  **  **  **  **  **  **  ** 
04  |  **  **  **  **  **  **  ** 
05  |  **  **  **  **  **  **  ** 
06  |  **  **  **  **  **  **  ** 
07  |  **  **  **  **  **  **  ** 
08  |  **  **  **  **  **  **  ** 
09  |  **  **  **  **  **  **  ** 
10  |  **  **  **  **  **  **  ** 
11  |  **  **  **  **  **  **  **  **  **  **  ** 
12  |  **  **  **  **  **  **  **  **  **  **  **  **  **  ** 
    |------------------------------------------------------------------------------------------------

输入:

 january=months.count(1)
 januaryPercent=float(round(((january/counter)*100),2))
 januaryNumber=int((((january/counter)*100)//1))
 januaryHistogram=januaryNumber*" ** "

例如: 12月有四个数字,这个数字是14.81。我需要的是倍增" **" 15岁而不是14岁。我不知道如何围捕......如果有人能给我一些指示。非常感谢。上面的代码每个月用于收集我的"直方图"。

1 个答案:

答案 0 :(得分:1)

您应该使用round

围绕
>>> december="14.81"
>>> round(float(december))
 15.0 

如果您希望它是 int ,请使用int

>>> december="14.81"
>>> int(round(float(december)))
15

相当简单。

编辑(根据OP对此答案的评论):

Soooo ......你会decemberNumber 14.81(或者其他......无关紧要:这就是变量的用途)......你要表现出15 (最接近的int,而不是)" ** "个字符的块。如果是这种情况,下面的代码应该有效:

decemberHistogram=int(round(float(decemberNumber)))*" ** "