草庐IT

数位DP

全部标签

android - 设置宽度(以像素为单位)是否使用 dp 或 px?

设置宽度(以像素为单位)是否使用与设备无关的像素或物理像素作为单位?例如,setWidth(100)是否将View的宽度设置为100dips或100pxs?谢谢。 最佳答案 它使用像素,但我确定您想知道如何使用dips代替。答案在TypedValue.applyDimension().下面是如何在代码中将dips转换为px的示例://Converts14dipintoitsequivalentpxResourcesr=getResources();intpx=Math.round(TypedValue.applyDimension(

android - 如何向 Android 的 RecyclerView 添加一个简单的 8dp 页眉/页脚?

有没有办法向RecyclerView添加简单的页眉/页脚?在这里你可以看到我有什么。第一张卡片触及工具栏在这里你可以看到我想要实现的目标:底部和卡片之间的8dpPadding。到目前为止我尝试过的方法:在我的回收站View中使用标题View。但我认为对每个recyclerview都这样做是非常低效的。使用8dp的上边距,这会导致recyclerview在滚动时在顶部/底部出现白条。向列表项添加填充,这会导致外卡和内卡之间的边距不同。我确信有一个我目前还不知道的简单解决方案。 最佳答案 添加顶部填充并将clipToPadding设置为

android - 公式 px 到 dp,dp 到 px android

我正在尝试将可变数量的像素计算为与密度无关的像素,反之亦然。这个公式(pxtodp):dp=(int)(px/(displayMetrics.densityDpi/160));不适用于小型设备,因为它被零除。这是我的dp到px公式:px=(int)(dp*(displayMetrics.densityDpi/160));有人可以指点一下吗? 最佳答案 注意:上面广泛使用的解决方案是基于displayMetrics.density。但是,文档解释说这个值是一个四舍五入的值,与屏幕“桶”一起使用。例如。在我的Nexus10上,它返回2,

android - 在 Android 中,如何以编程方式在 dp 中设置边距?

在this、this和this线程中,我试图找到有关如何在单个View上设置边距的答案。但是,我想知道是否没有更简单的方法。我将解释为什么我不想使用这种方法:我有一个扩展Button的自定义Button。如果背景设置为默认背景以外的其他内容(通过调用setBackgroundResource(intid)或setBackgroundDrawable(Drawabled)),我希望边距为0.如果我这样称呼:publicvoidsetBackgroundToDefault(){backgroundIsDefault=true;super.setBackgroundResource(andr

c++ - double - 小数位

根据我的阅读,数据类型double的值具有大约15位小数的精度。但是,当我使用十进制表示重复的数字(例如1.0/7.0)时,我发现该变量包含0.14285714285714285的值——即17位(通过调试器)。我想知道为什么它在内部表示为17位,为什么15的精度总是写在~15处? 最佳答案 IEEEdouble有53个有效位(即DBL_MANT_DIG中的的值)。这大约是15.95个十进制数字(log10(253));实现集DBL_DIG到15,而不是16,因为它必须向下舍入。因此,您的精度几乎多了一个十进制数字(超出DBL_DIG

javascript - 检查数字是否有小数位/是否为整数

我正在寻找一种在JavaScript中检查数字是否有小数位的简单方法(以确定它是否为整数)。例如,23->OK5->OK3.5->notOK34.345->notOKif(numberisinteger){...} 最佳答案 使用modulus将工作:num%1!=0//23%1=0//23.5%1=0.5请注意,这是基于数字的数值值,与格式无关。它将包含带有固定小数点的整数的数字字符串视为整数:'10.0'%1;//returns010%1;//returns0'10.5'%1;//returns0.510.5%1;//retur

关于DP转3*DP+ HDMI+USB同显音视频KTM50X0系列芯片应用简述

主要用于主机设备与显示设备高速率的视频拓展芯片,集合了DP,USB-C,HDMI等音视频信号。拓展出更多更高更有真实体验的信号,从而满足消费者实际需求。KTM50X0具体介绍如下:KTM50x0是一颗DisplayPort1.4aMST集线器,集成了USBtype-C解复用器,主要针对移动笔记本配件和显示应用。该设备具有多流音视频分配器和HDCP1协议转换器的功能。支持DPalt模式的USBType-C上行接口(UFP)。UFP的4条高速通道可同时接收DP1.4aMST音视频和USB3.2Gen2数据流。满足标准DP或USBType-C连接器翻转方向的要求。入站的DP和USB信号通过DFP(D

java - 以 double 移动小数位

所以我有一个等于1234的double值,我想将小数位移到12.34为此,我将0.1乘以1234两次,有点像这样doublex=1234;for(inti=1;i这将打印结果“12.340000000000002”有没有一种方法,无需简单地将其格式化为两位小数,就可以正确存储double12.34? 最佳答案 如果您使用double或float,您应该使用舍入,否则会出现一些舍入错误。如果您不能这样做,请使用BigDecimal。您遇到的问题是0.1不是一个精确的表示,并且通过执行两次计算,您正在加剧该错误。但是,100可以准确表示

c++ - 使用 cout 打印正确的小数位数

我有一个float值列表,我想用cout打印它们,并保留2个小数位。例如:10.900shouldbeprintedas10.901.000shouldbeprintedas1.00122.345shouldbeprintedas122.34我该怎么做?(setprecision似乎对此没有帮助。) 最佳答案 与,你可以使用std::fixed和std::setprecision这是一个例子#include#includeintmain(){doubled=122.345;std::cout你会得到输出122.34

delphi - 如何格式化 DBGrid 列以显示两个小数位?

这个问题在这里已经有了答案:SettingaDBGridcolumnformatinDelphi(3个回答)关闭7年前。我想格式化特定单元格以强制保留两位小数。数据来自ElevateDB存储过程并连接到TDataSource。编辑:SQL编程说明:我不确定这是否只是ElevateDB问题。在了解FieldsEditor之前,我尝试通过在存储过程中使用CAST(NumericFieldasvarchar(10))语句在SQL级别格式化数据。通过这样做,它不会在该特定字段的字段编辑器中公开DisplayFormat属性。当我从存储过程中删除CAST()语句时,DisplayFormat属性