Как получить десятичный разделитель среды в Октаве - PullRequest
0 голосов
/ 07 ноября 2018

Мне нужно присвоить переменной десятичный разделитель среды в октаве.

Например, если компьютер установлен в формате США

>> decsep
ans = .

Вместо этого, если вы запустите скрипт с ПК, который имеет европейский десятичный формат, вывод будет

>> decsep
ans = ,

Ответы [ 2 ]

0 голосов
/ 08 ноября 2018

Вы можете использовать Java, чтобы получить десятичный разделитель:

Format  = javaMethod( "getInstance", "java.text.DecimalFormat" );
Symbols = javaMethod( "getDecimalFormatSymbols", Format );
Sep     = javaMethod( "getDecimalSeparator", Symbols )

В качестве альтернативы вы можете использовать следующий скрипт PowerShell (powershell.exe или pwsh.exe):

[~, s] = system("pwsh -command (Get-Culture).NumberFormat.NumberDecimalSeparator");
Sep = s(1);
0 голосов
/ 07 ноября 2018

В Linux вы можете использовать:

[~, s] =  system('locale decimal_point'); %returns decimal separator and a '↵'
decsp = s(1); %Required answer   
...