考虑下面的四个百分比,表示为float数字:
13.626332%
47.989636%
9.596008%
28.788024%
-----------
100.000000%
Run Code Online (Sandbox Code Playgroud)
我需要将这些百分比表示为整数.如果我只是使用Math.round(),我最终总共有101%.
14 + 48 + 10 + 29 = 101
Run Code Online (Sandbox Code Playgroud)
如果我使用parseInt(),我最终总共有97%.
13 + 47 + 9 + 28 = 97
Run Code Online (Sandbox Code Playgroud)
什么是一个很好的算法来表示任意数量的百分比作为整数,同时仍然保持总计100%?
编辑:在阅读了一些评论和答案后,显然有很多方法可以解决这个问题.
在我看来,为了忠实于数字,"正确"的结果是最小化整体错误的结果,由相对于实际值引入的错误舍入量来定义:
value rounded error decision
----------------------------------------------------
13.626332 14 2.7% round up (14)
47.989636 48 0.0% round up (48)
9.596008 10 4.0% don't round up (9)
28.788024 29 2.7% round up (29)
Run Code Online (Sandbox Code Playgroud)
在平局(3.33,3.33,3.33)的情况下,可以做出任意决定(例如3,4,3).
我在使用flexbox列时遇到麻烦,因为flex'd元素的子元素不会以height百分比形式响应.我只在Chrome中检查过此内容,据我所知,这只是Chrome的问题.这是我的例子:
HTML
<div class='flexbox'>
<div class='flex'>
<div class='flex-child'></div>
</div>
<div class='static'></div>
</div>
Run Code Online (Sandbox Code Playgroud)
CSS
.flexbox{
position:absolute;
background:black;
width:100%;
height:100%;
display: flex;
flex-direction:column;
}
.flex{
background:blue;
flex:1;
}
.flex-child{
background:red;
height:100%;
width:100%;
display:block;
}
.static{
background:green;
width:100%;
height:5rem;
}
Run Code Online (Sandbox Code Playgroud)
我想要它,所以红色.flex-child填充蓝色.flex.为什么不起作用height:100%?
翻译元素Y轴50%会将其向下移动50%的高度,而不是父母身高的50%,正如我所料.如何告诉翻译元素将其转换百分比基于父元素?或者我不明白什么?
我想用PHP计算一个数字的百分比.例如:
$percentage = 50;
$totalWidth = 350;
Run Code Online (Sandbox Code Playgroud)
对于此示例,350%的50%= 175
我怎样才能做到这一点?
我怎么做到这一点..
sendMessage("hi");sendMessage("bye");sendMessage("Test");是否必须使用Math.random()做一些事情?喜欢
if (Math.random() * 100 < 80) {
sendMessage("hi");
}
else if (Math.random() * 100 < 5) {
sendMessage("bye");
}
Run Code Online (Sandbox Code Playgroud) 我正在开发一个需要使用CSS3 box-shadow属性的项目.这没关系,但我发现阴影的扩散大小不能设置为父对象的百分比.
我完全理解box-shadow不是附加的,因此它不会将parent的大小作为参考.
但考虑到我需要具有完全响应的站点,其中对象流畅地缩放(不仅在断点处),这会产生问题 - 我只能以绝对单位(em或px)设置阴影扩展属性.
这有什么解决方案吗?我想过在容器内使用内部容器(用于内容)(对于"阴影" - 它没有模糊),但这会产生另一个问题 - 内部容器的垂直居中.
有解决方案吗 请不要jQuery,只是纯CSS.
谢谢
我试图简单地将数字格式化为两位小数的百分比.如果它是37除以38(又名.973684210526315789),我希望它在SQL输出中显示97.36%.我知道建议在应用程序中进行格式化,但这是为了自动导出.这是使用SQL Server 2008.
这就是我现在拥有的:
select CONVERT(VARCHAR(50),cast(37 as decimal)/cast(38 as decimal)*100)+' %' AS [%]
Run Code Online (Sandbox Code Playgroud)
如果您可以在任何有用的函数中解释各种参数的含义.
我是C的初学者,我想知道为什么这个程序不打印%符号?
代码是:
#include<stdio.h>
main()
{
printf("%");
getch();
}
Run Code Online (Sandbox Code Playgroud) 我试图使用Levenshtein距离算法将单个搜索项与可能匹配的字典进行匹配.该算法返回一个距离,表示为将搜索字符串转换为匹配字符串所需的操作数.我想在排名最高的"N"(比方说10)比赛的百分比列表中显示结果.
由于搜索字符串可以比单个字典字符串更长或更短,因此将距离表示为百分比的适当逻辑将定性地反映出查询字符串的每个结果与"百分比"的接近程度,100 %表示完全匹配.
我考虑了以下选项:
Q = query string
M = matched string
PM = Percentage Match
Option 1. PMi = (1 - Lev_distance(Q, Mi)/Strlen(Q)) * 100
Option 2. PMi = (1 - Lev_distance(Q, Mi)/max(Strlen(Q), strlen(Mi))) * 100
Run Code Online (Sandbox Code Playgroud)
如果距离大于搜索字符串长度(匹配字符串为长),则选项1可能为负百分比.例如查询"ABC"与"ABC Corp."匹配 会导致负匹配百分比.
选项2似乎不会在一组Mi中给出一致的百分比,因为每个计算可能使用不同的分母,因此得到的百分比值不会被标准化.
只有我能想到的另一种方法是抛弃lev_distance与字符串长度的比较,而是将顶部"N"匹配的比较距离表示为反百分位数等级(100百分位等级).
有什么想法吗?有更好的方法吗?我必须遗漏一些东西,因为Levenshtein距离可能是最常见的模糊匹配算法,这一定是一个非常常见的问题.
我有一个video在一个div具有40%的宽度.在HTML中,width="100%" height="auto"使视频消失.设置像素的特定大小将不适合div.将html留空会使视频大小错误,并且侧面会出现黑条.
我在大多数其他帖子中尝试了这些建议,但似乎无法让它发挥作用.
<div id="box"><video id="trialvid" class="video-js vjs-default-skin"
controls preload="auto" width="auto" height="auto" poster="images/reelthumbnail.jpg"
data-setup='{"example_option":true}'>
<source src="http://video-js.zencoder.com/oceans-clip.mp4" type='video/mp4' />
<source src="http://video-js.zencoder.com/oceans-clip.webm" type='video/webm' />
<source src="http://video-js.zencoder.com/oceans-clip.ogv" type='video/ogg' />
</video>
</div>
Run Code Online (Sandbox Code Playgroud) percentage ×10
css ×2
algorithm ×1
box-shadow ×1
c ×1
css3 ×1
distance ×1
flexbox ×1
height ×1
javascript ×1
math ×1
operators ×1
php ×1
random ×1
ranking ×1
rounding ×1
sql-server ×1
t-sql ×1
translate ×1
translate3d ×1
video.js ×1