Пустое множество SQL для Обнуления для добавления

Используйте {n}. format ()

Например: '{: n}'. format (1234))

ds_x=[ 0.00000000e+00, 0.00000000e+00, 1.00000000e+00,1.65349200e+05, 1.36897800e+05, 4.71784100e+05]
# For Numpy arrays use '.astype'
# Copy of the array 'ds_x', cast to a specified type 'float'.
# Note: Try type 'float32' OR 'float64' if the below fails to provide correct precision.
data_set = ds_x.astype(float)
for i in data_set:
    print("{:.16f}".format(float(i)))

# Подробнее о лучшей точности можно узнать здесь

Выходные данные:

0,0000000000000000

0,0000000000000000

1,0000000000000000

165349.2000000000116415

1168887859999

471784.0999999999767169

Или вы можете использовать альтернативный способ:

"%.16f" % (float( 00,1.65349200e+05))

Второй вопрос, касающийся PyCharm. Возможно, вы захотите взглянуть на маркеры форматирования . Полная информация о переформатировании .


Обновление:

Вот обновленный пример кода с набором данных, который был предоставлен вы.

blockquote>
import numpy as np

ds = np.array([[ 0.00000000e+00, 1.00000000e+00, 0.00000000e+00, 2.86637600e+04, 1.27056210e+05, 2.01126820e+05],
                [ 0.00000000e+00, 0.00000000e+00, 1.00000000e+00, 1.44372410e+05, 1.18671850e+05, 3.83199620e+05]])

for data_x in iter(ds):
    print()
    for data_y in data_x:
        print("%.16f" % float(data_y))

вывод:

0.0000000000000000
1.0000000000000000
0.0000000000000000
28663.7599999999983993
127056.2100000000064028
201126.8200000000069849

0.0000000000000000
0.0000000000000000
1.0000000000000000
144372.4100000000034925
118671.8500000000058208
383199.6199999999953434

Об ошибке:

TypeError: только массивы размера 1 могут быть преобразованы в скаляры Python

blockquote>

Это потому, что используемый вами набор данных представляет собой матрицу Python ИЛИ список из списка / двух массивов. Первый пример кода в этом посте использует один цикл, который работает с одним массивом; однако, поскольку вы используете больший набор данных, содержащий два массива в первом цикле, он пропустит весь массив, вызывая вывод вышеуказанной ошибки. Чтобы исправить это, я просто добавил второй цикл для перебора каждого значения для каждого массива.

10
задан therealhoff 27 September 2008 в 18:30
поделиться

5 ответов

Так как ISNULL в Доступе является булевой функцией (один параметр), используйте его как это:

SELECT Column1, Column2, IIF(ISNULL(Column3),0,Column3) + IIF(ISNULL(Column4),0,Column4) AS [Added Values]
FROM Table
14
ответ дан 3 December 2019 в 18:02
поделиться

Даже инструмент для очистки был бы функцией nz

nz (column3, 0)
2
ответ дан 3 December 2019 в 18:02
поделиться

Используйте заменяющую команду ISNULL:

 SELECT Column1, Column2, ISNULL(Column3, 0) + ISNULL(Column4, 0) AS [Added Values]FROM Table
1
ответ дан 3 December 2019 в 18:02
поделиться

Nz () функция от VBA может использоваться в Вашем запросе Доступа MS.

Эта функция заменяет ПУСТЫМ УКАЗАТЕЛЕМ значение в данном параметре.

SELECT Column1, Column2, Nz(Column3, 0) + Nz(Column4, 0) AS [Added Values]
FROM Table
1
ответ дан 3 December 2019 в 18:02
поделиться

Используйте ОБЪЕДИНЯЮТ.

SELECT 
   Column1, 
   Column2, 
   COALESCE(Column3, 0) + COALESCE(Column4, 0) AS [Added Values]
FROM Table
-1
ответ дан 3 December 2019 в 18:02
поделиться
Другие вопросы по тегам:

Похожие вопросы: