我想将模式###,00应用于我的大十进制数字,因此','是十进制分隔符,不会使用分组分隔符。
我想获得带有describe模式的数字的字符串表示,所以我执行以下操作:
DecimalFormatSymbols symbols = new DecimalFormatSymbols();
symbols.setDecimalSeparator(',');
df.setGroupingUsed(false);
DecimalFormat df = new DecimalFormat("###,00", symbols);
但是当我执行下一个操作时:
System.out.println(df.format(new BigDecimal(589555.23)));
输出是589555,我期待589555,23出了什么问题?我怎样才能做到这一点?
答案 0 :(得分:1)
只需将decimalFormat模式更改为###.00
因为在格式模式中,没有与十进制值相关的信息(小数点后),因此十进制值不会显示在格式化的输出中。
symbols.setDecimalSeparator(',');
DecimalFormat df = new DecimalFormat("###.00", symbols);
输出:
System.out.println(df.format(new BigDecimal(589555.23))); //589555,23
答案 1 :(得分:1)
而不是使用","在DecimalFormat中使用"。"
DecimalFormat df = new DecimalFormat("########.##", symbols);
我得到的输出是589555,23
DecimalFormatSymbols symbols = new DecimalFormatSymbols();
symbols.setDecimalSeparator(',');
DecimalFormat df = new DecimalFormat("########.##", symbols);
df.setGroupingUsed(false);
System.out.println(df.format(new BigDecimal(589555.23)));
答案 2 :(得分:0)
您可以尝试使用逗号作为小数分隔符的区域设置。例如:
import os
import re
import fileinput
import numpy as np
matrix = np.zeros(shape=(6000,16000))
def dictionary_creation (filepath):
fileopen = open(filepath, "r")
dictionary = fileopen.read().split('\n')
fileopen.close()
return dictionary
def find_doc_matrix_position (filename):
regex = re.compile('(\d)_(.*)')
find_regex = regex.search(file)
if find_regex:
pos_doc = int(find_regex.group(1))-1
return pos_doc
def put_nbdoc_nbword_in_matrix (filename, dictionary, nb_file):
for line in fileinput.input([filename]):
line = line.replace("\n", "")
for w in range(0,len(dictionary)-1):
split_ = dictionary[w].split('_',1)
if line == split_[1]:
# print ("nb_file is: "+str(nb_file))
# print ("nb_word is : "+str(split_[0]))
# print ("line is: "+line+" word is: "+split_[1])
# print '####'
matrix[nb_file,split_[0]] = 1
dictionary = dictionary_creation('C:\\Users\\KP\\Desktop\\FSC_lemmes_sort.txt')
for file in os.listdir('C:\Users\KP\Desktop\FSC_Treetag\out'):
fin = open(file, 'r')
filename = file
nb_file = find_doc_matrix_position(file)
put_nbdoc_nbword_in_matrix(filename, dictionary, nb_file)
print "this is the final matrix\n"
print matrix