草庐IT

im2double

全部标签

Java:关于弧度、Math.cos、Math.sin、double和long的问题

我需要在我的java代码中实现harvesine距离。我在Javascript中找到了这个片段,我需要将它转换为java。如何在Java中将纬度和经度转换为弧度?Math.sin想要Java中的double。我是否应该以弧度为单位传递之前转换的值?Math.sin和Math.cos返回long。我应该将a声明为long并将其传递给Math.sqrt还是将其转换为double?谢谢dLat=(lat2-lat1).toRad();dLon=(lng2-lng1).toRad();a=Math.sin(dLat/2)*Math.sin(dLat/2)+Math.cos(lat1.toRad

java - 显示 double 和 float 时如何对齐小数点

如果我有以下小数点数:Double[]numbers=newDouble[]{1.1233,12.4231414,0.123,123.3444,1.1};for(Doublenumber:numbers){System.out.println(String.format("%4.3f",number));}然后我得到以下输出:1.12312.4230.123123.3441.100我想要的是:1.12312.4230.123123.3441.100 最佳答案 可能有点困惑的部分是String.format("4.3",number)

javafx:如何使 TableCell Edit 返回 double 而不是字符串,并且字体会根据条件更改颜色?

我有Trade对象类和一个publicclassTrade{privateDoublePropertyprice;privateReadOnlyBooleanWrappercaution;publicTrade(doubleprice){this.price=newSimpleDoubleProperty(price);this.caution=newReadOnlyBooleanWrapper();this.caution.bind(this.volume.greaterThan(0));}publicdoublegetPrice(){returnthis.price.get();}

Java:将(长)对象转换为 double 的多种方法

我有一个Objectobj,我知道它实际上是一个long。在某些数学代码中,我需要它作为double。直接将其转换为double安全吗?doublex=(double)obj;或者我应该先将它转换为long,然后再转换为double。doublex=(double)(long)obj;我还找到了另一个(可读性较差的)替代方案:doublex=newLong((long)obj).doubleValue();这样做的危险/影响是什么?解决方案总结:obj是一个Number而不是long。Java6需要显式转换,例如:doublex=((Number)obj).doubleValue()J

听说你写的分布式IM系统不错,可以拿来看看吗?

分布式IM即时通讯系统本质上就是对线上聊天和用户的管理,针对聊天本身来说,最核心的需求就是:发送文字、图片、文件、语音、视频、消息缓存、消息存储、消息未读、已读、撤回,离线消息、历史消息、单聊、群聊,多端同步,以及其他一些需求。对用户管理来说,存在的需求包含:添加好友、查看还有列表、删除好友、查看好友信息、创建群聊、加入群聊、查看群成员信息、退出群聊、修改群昵称、拉人进群、踢人出群、解散群聊、填写群公告、修改群备注以及其他用户相关的需求等。一、IM系统概述整个分布式IM即时通讯系统涵盖:即时通讯后端服务、即时通讯SDK、大后端平台、大前端UI、OpenAI接入服务,先来看看代码工程。图片这是一

Open Source Instant Messaging (IM) Project OpenIM Source Code

DeployingOpenIMinvolvesmultiplecomponentsandsupportsvariousmethods,includingsourcecode,Docker,andKubernetes.Thisrequiresensuringcompatibilitybetweendifferentdeploymentmethodswhileeffectivelymanagingdifferencesbetweenversions.Indeed,thesearecomplexissuesinvolvingin-depthtechnicaldetailsandprecisesyst

c++ - 将精度 double 转换为字符串

我在C++中将大量数字存储为精确的double值(假设输入“n”为75):2.4891e+109有没有办法将其转换为字符串或每个数字的数组?到目前为止,这是我的代码,尽管它与问题并不完全相关:intmain(){doublen=0;cout>n;doubleval=1;for(doublei=1;i 最佳答案 std::stringstreamstr;str您可能还对scientific格式标志感兴趣。C++11也有一些有趣的函数std::to_string你可能想看看! 关于c++-将

c++ - 当输入声明为 double [C++] 时检查输入是否为空

我有三个声明为double的变量:doubleDelay1=0;doubleDelay2=0;doubleDelay3=0;然后我从用户那里获取他们的值:cout>Delay1;...但是当我检查这些值以查看它们是否为空时(用户只是按回车键并没有输入数字)它不起作用:if(Delay1||Delay2||Delay3==NULL)printerrror...每次都会运行。检查已声明为double的输入是否为空白的正确方法是什么? 最佳答案 有点像cin>>Delay1;if(cin){...}不会根据您的规范工作,因为cin将跳过前

c++ - 从字符串到数字大于 std::numeric_limit<double>::digits10 的 double 的转换

std::stringstr="12345679012.124678";doubleback=boost::lexical_cast(str);std::stringstr2=boost::lexical_cast(back);//herestr2isequaltostr即使数字的有效数字大于std::numeric_limit::digits10(即15),此处也没有丢失(即最终字符串=原始字符串)是否正常? 最佳答案 是的,这很正常。std::numeric_limit::digits10指的是确保强制转换无损的最大位数。这并不

c++ - 为什么 g++ 声明某些 valarray<double> o 有 "no matching function for call cbegin(o)"?

请考虑以下代码:usingcustom_t=std::valarray;custom_to;unsignedacc=std::accumulate(std::cbegin(o),std::cend(o),0);g++-5说Nomatchingfunctionforcalltocbegin(custom_t&)如果我改用std::begin(o)和std::end(o),一切正常。这是编译器错误吗?代码使用VisualStudio2015编译。 最佳答案 这是一个libstdc++错误,我刚刚创建了https://gcc.gnu.or