在我的财务相关应用程序中,Double用作货币数据的数据类型.但最近我发现Double在舍入时有问题.
例如,
存储为357549999999999999999999 35.75 的双变量35.25 内存储为35.750000000000000000001
那么什么时候它试图将数字四舍五入到一个小数点35.25 = 35.3 35.75 = 35.8
这意味着从地板到圆形天花板的一个数字.
有人可以为这个问题提出解决方案吗?
在Visual C++中,适用于货币数据的数据类型是什么
我正在做一些关于外部关键工作的实验,目前正在开发Fedora 19和g ++.我试图编译多个c ++文件并执行该程序.在这里编译成功.但是当试图运行它时会显示Permission denied错误.我改为使用chmod777的许可.但结果仍然相同.然后我尝试编译并运行一个简单的Hello World程序,并且工作正常.我的程序有什么问题?
test1.h
int a=0;
Run Code Online (Sandbox Code Playgroud)
test2.h
#include <iostream>
using namespace std;
extern int a;
void foo()
{
cout << "This is a test string " << endl;
cout << a << endl;
}
int main()
{
foo();
}
Run Code Online (Sandbox Code Playgroud)
这是我编译的方式和终端的执行结果
[root@localhost cpp]# g++ test1.h test2.h -o test.o
[root@localhost cpp]# ./test.o
bash: ./test.o: Permission denied
[root@localhost cpp]#
Run Code Online (Sandbox Code Playgroud) 背景:
C:\windows\Winsxs文件夹policies和ManifestsWinsxs具有 policies 相同的命名格式。例如文件夹名称:
x86_Microsoft.VC90.CRT_1fc8b3b9a1e18e3b_9.0.30729.1_x-ww_6f74963ex86_policy.9.0.Microsoft.VC90.CRT_1fc8b3b9a1e18e3b_x-ww_b7353f75 据我所知,名称的第一部分(x86_Microsoft.VC90.CRT_1fc8b3b9a1e18e3b_9.0.30729.1)描述了程序集或策略的“processorArchitecture”( x86),“Name”(Microsoft.VC90.CRT),“publicKeyToken”(1fc8b3b9a1e18e3b)和“Version”( )。9.0.30729.1
问题:
assembly( x-ww_6f74963e) 或policy( x-ww_b7353f75) 文件夹名称的最后一部分描述了什么?
好的,这是原始问题(但故事很长)。我在 Windows XP 计算机上部署了 C++ MFC 应用程序,该计算机先前安装了一些 C++ 重新分发包和一些运行时程序集的安全补丁。因此,这些预安装的 C++ 重新分发包会自动在Winsxs/policies. 这些策略强制使用新的运行时程序集,而不是我的应用程序使用和部署的程序集。但有时,由于某些其他应用程序删除或程序集可能损坏,这些较新的 DLL 不存在。因此,我正在寻找一种方法来部署专门用于我的应用程序的运行时程序集(这意味着我的应用程序必须使用它部署的一次程序集并忽略策略)。所以我认为子目录名称的最后一部分与应用程序的身份相关联。我需要找到它。
虽然我正在阅读有关STL迭代器的内容,但请参阅https://www.sgi.com/tech/stl/Iterators.html
最受限制的迭代器类型是输入迭代器和输出迭代器,它们都允许"单通"算法,但不一定支持"多次通过"算法.
我正在尝试使用Jenkins CLI检查特定的 Jenkins 节点是否已连接
。要获取节点详细信息,我可以使用get-node命令并将详细信息作为此 xml 返回
<?xml version="1.0" encoding="UTF-8"?>
<slave>
<name>20170602_jenkins_slave_002</name>
<description>10.49.82.46</description>
<remoteFS>c:\\jenkins_root</remoteFS>
<numExecutors>1</numExecutors>
<mode>EXCLUSIVE</mode>
<retentionStrategy class="hudson.slaves.RetentionStrategy$Always"/>
<launcher class="hudson.slaves.JNLPLauncher"/>
<label>20170602_jenkins_slave_002</label>
<nodeProperties/>
<userId>admin</userId>
</slave>
Run Code Online (Sandbox Code Playgroud)
但它不包括节点状态。任何人都知道如何通过 Jenkins cli 检查节点状态
我的一个C++ MFC应用程序在一些Windows(7,xp)计算机上随机崩溃.这个应用程序使用一些第三方库(Apache轴),当我检查依赖walker时,它显示加载与此第三方库相关的DLL后的应用程序退出.
所以我需要一种方法来检测这个应用程序的崩溃原因是什么.有没有办法做到这一点?
.pdb文件与.exe文件一起主机识别崩溃问题,但像往常一样微软没有明确的文档如何使用.IBM purify试用版.但我没有显示任何有效信息.WinDbg.但我找不到如何使用它.任何协助真的很感激.
编辑:崩溃报告添加
Problem Event Name: APPCRASH
Application Name: installer.exe
Application Version: 5.0.1.0
Application Timestamp: 51ac0bdc
Fault Module Name: AxisXMLParserXerces.dll
Fault Module Version: 1.0.0.0
Fault Module Timestamp: 51ac0016
Exception Code: c0000005
Exception Offset: 0000161d
OS Version: 6.1.7601.2.1.0.256.4
Locale ID: 18441
Additional Information 1: 0a9e
Additional Information 2: 0a9e372d3b4ad19135b953a78882e789
Additional Information 3: 0a9e
Additional Information 4: 0a9e372d3b4ad19135b953a78882e789`
Run Code Online (Sandbox Code Playgroud) 我有一个这样的字符串,
05/15/2015 09:19 PM pt_Product2017.9.abc.swl.px64_kor_7700我需要从中选择pt_Product2017.9.abc.swl.px64_kor。(以开始,以pt_结束_kor)
$str = "05/15/2015 09:19 PM pt_Product2017.9.abc.swl.px64_kor_7700";
preg_match('/^pt_*_kor$/',$str, $matches);
Run Code Online (Sandbox Code Playgroud)
但这是行不通的。
对于具有虚函数的低音类通常称为"多态基类".在这种情况下Car类
class Car
{
virtual void drive(){std::cout << "drive right";}
};
class EuropeCar: public Car
{
void drive(){std::cout << "drive left";}
}
Run Code Online (Sandbox Code Playgroud)
是C++标准polymorphic base class的一般俚语pure abstract class还是其中的一部分?