У меня есть эта неясная проблема округления в VBA.
a = 61048.4599674847
b = 154553063.208822
c = a + b
debug.print c
Result:
154614111.66879
Вот вопрос, почему VBA округлил переменную c? Я не выполняла функцию округления. Значение, которое я ожидал, было 154614111.6687894847. Даже если я округляю или форматирую переменную c до 15 десятичных занимать место, я все равно не получу ожидаемого результата.
Любые объяснения были бы признательны.
Изменить:
Получены ожидаемые результаты с помощью cDec. Я прочитал это в ответе Джонатана Аллена в Почему CLng дает разные результаты?
Вот результат теста:
a = cDec(61048.4599674847)
b = cDec(154553063.208822)
c = a + b
?c
154614111.6687894847
-121--1566494-
Im с помощью sshj и im пытается удалить файл, но моя проблема в том, что удаленный процесс никогда не погибает.
В следующем примере кода можно увидеть, что я пытаюсь выполнить команду tail/var/log/syslog, а затем посылаю в процесс сигнал kill. Однако после того, как приложение остановилось и я перечислил все процессы на сервере, я все еще могу увидеть активный процесс завершения.
Почему этот код не уничтожит процесс? и что я могу сделать, чтобы исправить это?
SSHClient ssh = new SSHClient();
ssh.addHostKeyVerifier(new PromiscuousVerifier());
try {
ssh.connect("localhost");
ssh.authPassword("xxx", "xxx");
final Session session = ssh.startSession();
try {
final Command cmd = session.exec("tail -f /var/log/syslog");
cmd.signal(Signal.KILL);
System.out.println("\n** exit status: " + cmd.getExitStatus());
} catch (IOException e) {
e.printStackTrace();
}finally{
session.close();
}
} finally{
ssh.disconnect();
}
EDIT
также попытался отправить все доступные сигналы.
for(Signal s : Signal.values()){
cmd.signal(s);
}