What's the full name of "DBNum"? - excel

In Excel, if the cell value is 123 and specify its custom formatting as [DBNum2][$-804]General then it will be displayed like 壹佰贰拾叁. (in Chinese,it's a local number format).
The question is :
What the DBNum mean? I think it's should be some word's short name. then what's the full name?
thx for your answer.

It is context which clarifies the name. Basically To display numbers using native number characters, use a [NatNum1], [NatNum2], ... [NatNum11] modifier at the beginning of a number format codes. DBnum is a native character modifier. DBNum is an identifier and has no expanded name. It is defined by usage
emphasized text"[DBNum2]" number type to convert numbers to Chinese uppercase.
Realize Chinese uppercase currency amount by using excel's [DBNum2] number type
Today's meeting budget needs to convert the final amount to Chinese uppercase numbers. I found that One can't find the relevant information in Excel help. We got a google look and conclude that we should use the "[DBNum2]" number type to convert numbers to Chinese uppercase.
Some common usages are as follows:
1. Set the custom format in the cell format:
Use the TEXT function to convert:
Source Link https://translate.google.com/translate?hl=en&sl=zh-CN&u=http://blog.zengrong.net/post/278.html&prev=search
By the way , EditGrid does not support [DBnum2]
EDIT :
Further related information
Displaying Numbers Using Native Characters
NatNum modifiers
To display numbers using native number characters, use a [NatNum1], [NatNum2], ... [NatNum11] modifier at the beginning of a number format codes.
The [NatNum1] modifier always uses a one to one character mapping to convert numbers to a string that matches the native number format code of the corresponding locale. The other modifiers produce different results if they are used with different locales. A locale can be the language and the territory for which the format code is defined, or a modifier such as [$-yyy] that follows the native number modifier. In this case, yyy is the hexadecimal MS-LCID that is also used in currency format codes. For example, to display a number using Japanese short Kanji characters in an English US locale, use the following number format code:
[NatNum0]
Try to convert any native number string to ASCII Arabic digits. If already ASCII, it remains ASCII.
**[NatNum1]**
Transliterations Native Number Characters DBNumX Date Format
Chinese Chinese lower case characters CAL: 1/7/7 [DBNum1]
Japanese short Kanji characters [DBNum1] CAL: 1/4/4 [DBNum1]
Korean Korean lower case characters [DBNum1] CAL: 1/7/7 [DBNum1]
Hebrew Hebrew characters
Arabic Arabic-Indic characters
Thai Thai characters
Hindi Indic-Devanagari characters
Odia Odia (Oriya) characters
Marathi Indic-Devanagari characters
Bengali Bengali characters
Punjabi Punjabi (Gurmukhi) characters
Gujarati Gujarati characters
Tamil Tamil characters
Telugu Telugu characters
Kannada Kannada characters
Malayalam Malayalam characters
Lao Lao characters
Tibetan Tibetan characters
Burmese Burmese (Myanmar) characters
Khmer Khmer (Cambodian) characters
Mongolian Mongolian characters
Nepali Indic-Devanagari characters
Dzongkha Tibetan characters
Farsi East Arabic-Indic characters
Church Slavic Cyrillic characters
[NatNum2]
Transliterations Native Number Characters DBNumX Date Format
Chinese Chinese upper case characters CAL 2/8/8 [DBNum2]
Japanese traditional Kanji characters CAL 2/5/5 [DBNum2]
Korean Korean upper case characters [DBNum2] CAL 2/8/8 [DBNum2]
Hebrew Hebrew numbering
[NatNum3]
Transliterations Native Number Characters DBNumX Date Format
Chinese fullwidth Arabic digits CAL: 3/3/3 [DBNum3]
Japanese fullwidth Arabic digits CAL: 3/3/3 [DBNum3]
Korean fullwidth Arabic digits [DBNum3] CAL: 3/3/3 [DBNum3]
Source Link : [Common/Number Format Codes][4]

Thanks, I have been looking for a description of [DBNUM1] (lower case Chinese number), [DBNUM2] (upper case Chinese number, for formal numbers) and [DBNUM3] (1-to-1 digit to Chinese number conversion), the last being obtained from somewhere else.
There is also another format code whose documentation needs to be found. An example is "[>100]#,000", which displays number in format indicated, but only if it is greater than 100. Not sure the rule of formatting if not meeting the condition. Not sure if you can specify multiple condition.
It is a pity that Microsoft does not give a complete list of format codes at a single place.

The actual meaning may only known by Microsoft Office developers. And we can only guess what the full name is.
The corresponding chapter introducing the equivalent function in LibreOffice and OpenOffice just use the name DBNum directly, without any further introduction, even the table of mapping in LibreOffice says "DBNumX".
Moreover, you can't find the definition of DBNum in Office Support.

Related

What's the difference in one word token and mulit-word token in crf++ for Chinese?

I use crf++ for Chinese named entity recognition.The first column in train file is token represent current word.I see someone use only one Chinese character in first column but someone use many Chinese characters like 中国。
Chinese word could be 1 Chinese character or multiply Chinese characters:
中 represents a English word - middle.
国 represents another English word - country.
and 中国 represents English word - China.
they are same - current word - just like 'CHINA' has 5 English characters, 中国 has 2 Chinese characters - both are current word in cft++.

Why does Excel parse numbers with more than two decimal places as whole numbers?

Excel uses Windows Regional Settings to get the List Separator and Decimal Separator for csv files. I am attempting to localize some csv reports in our application for French and German users. I am using semi-colons as the csv delimiter and commas as decimal separators for the French and German versions of each csv.
I've set my local Windows Regional settings to use semi colons and commas as decimal separators. When I open the following test file in Excel, Excel parses numbers with 2 or less decimal characters correctly ... based on my Regional settings. However, numbers with 3 or more decimal places are parsed as whole numbers. So, the string 12,3000 will be parsed as 123 000 (One hundred twenty three thousand).
test.csv:
"Decimal Separator";"In Quotes";"Number"
"Period";"false";4.283333
"Period";"true";"4.283333"
"Period";"false";0.283333
"Period";"true";"0.283333"
"Comma";"false";4,283333
"Comma";"true";"4,283333"
"Comma";"false";0,283333
"Comma";"true";"0,283333"
"Period";"false";4.333
"Period";"true";"4.333"
"Period";"false";0.333
"Period";"true";"0.333"
"Comma";"false";4,333
"Comma";"true";"4,333"
"Comma";"false";0,333
"Comma";"true";"0,333"
"Period";"false";4.28
"Period";"true";"4.28"
"Period";"false";0.28
"Period";"true";"0.28"
"Comma";"false";4,28
"Comma";"true";"4,28"
"Comma";"false";0,28
"Comma";"true";"0,28"
"Period";"false";4.4
"Period";"true";"4.4"
"Period";"false";0.4
"Period";"true";"0.4"
"Comma";"false";4,4
"Comma";"true";"4,4"
"Comma";"false";0,4
"Comma";"true";"0,4"
"Period";"false";4
"Period";"true";"4"
"Period";"false";0
"Period";"true";"0"
"Comma";"false";4
"Comma";"true";"4"
"Comma";"false";0
"Comma";"true";"0"
"Period";"false";45623455454.283333
"Period";"true";"45623455454.283333"
"Period";"false";45623455450.283333
"Period";"true";"45623455450.283333"
"Comma";"false";45623455454,283333
"Comma";"true";"45623455454,283333"
"Comma";"false";45623455450,283333
"Comma";"true";"45623455450,283333"
"Period";"false";45623455454.28
"Period";"true";"45623455454.28"
"Period";"false";45623455450.28
"Period";"true";"45623455450.28"
"Comma";"false";45623455454,28
"Comma";"true";"45623455454,28"
"Comma";"false";45623455450,28
"Comma";"true";"45623455450,28"
Does anyone have any insight on this
You might have this issue if your Regional settings are set to use a comma as the "Digit grouping symbol". French uses a space character for Digit Grouping and Germany uses a period.
Windows --> Control Panel --> Region and Language --> Numbers --> Additional Settings --> Digit Grouping Symbol --> Set to use a space character
I'm thinking that you have the digit grouping symbol also as a comma. That's usually represented by a period (or a space) in Europe, so three thousand and twenty-two hundredths would be represented 3.000,22.
I changed the decimal character to a comma, and the digit grouping character to a period, and imported 12,3000, and Excel interpreted it as twelve and three tenths, as it should.
When I changed both to comma, the same import gave me one hundred twenty-three thousand, as you saw.

How to write numbers in other language in web?

My website has two language, English and Persian. When I use Persian language and I write some number, the number shows in English language
For example when I write 67 in Persian unfortunately it show me 67 in English but I write it in Persian (My font is Arial) :
How to write numbers in Persian?
Persian numbers have different unicode codes, f.e english zero 0 is code 48 (0x0030 hex), but persian zero 0 is code U + 06F0, so you have to enter numbers in proper unicode codes (different chars). Also your font have to support these codes (not all fonts support such numbers).
Persian numbers starts at unicode 0x06F0 (0, ۰) to 0x06F9 (9, ۹) while english numbers are 0x0030 (0) to 0x0039 (9).
How to enter these characters (in Windows)
If you do not have proper language support to enter these characters on your keyboard, you can enter them in Wordpad (standard application in Windows) or in Microsoft Word by entering four characters (hexa) of the code (f.e. 06F9) and pressing alt+x shortcut. four-character word will be converted to proper unicode character.

How to set Locale on GSON (for decimal number separators)

I know you can set date formatting, but how do you set other locale specific stuff like decimal number formatting? (I mean comma vs. dot)
Short answer: you don't.
You seem to be somewhat confusing the textual representation of a number and an actual numeric value.
While JSON is a text-based data interchange format, a number (vs. a string) in JSON is a numeric value and is not affected by locale. Section 2.4 of the JSON specification provides the specific definition (emphasis mine):
2.4. Numbers
The representation of numbers is similar to that used in most
programming languages. A number contains an integer component that
may be prefixed with an optional minus sign, which may be followed by
a fraction part and/or an exponent part.
Octal and hex forms are not allowed. Leading zeros are not
allowed.
A fraction part is a decimal point followed by one or more digits.
An exponent part begins with the letter E in upper or lowercase,
which may be followed by a plus or minus sign. The E and optional
sign are followed by one or more digits.
Numeric values that cannot be represented as sequences of digits
(such as Infinity and NaN) are not permitted.
Given the above, something such as {"my_double":3,2} is not valid JSON. {"my_double":3.2} is.
When parsing JSON, a parser is going to store numbers to a primitive data type (int or double). Your locale will then display those properly using the normal methods for converting them to strings; Integer.toString(myInt),String.valueOf(myDouble), etc.

Compare strings binary (& not alphanumeric)

How do you compare strings binary (not alphanumeric) ??
Torrent spec:
Keys must be strings and appear in sorted order (sorted as raw
strings, not alphanumerics). The strings should be compared using a
binary comparison, not a culture-specific "natural" comparison.
So i need to sort a dict by key... but i dont get this spec..
Explanations ..anyone?
Update: acordingly to: http://docs.oracle.com/cd/B19306_01/server.102/b14225/ch5lingsort.htm
Using Binary Sorts
One way to sort character data is based on the numeric values of the
characters defined by the character encoding scheme. This is called a
binary sort. Binary sorts are the fastest type of sort. They produce
reasonable results for the English alphabet because the ASCII and
EBCDIC standards define the letters A to Z in ascending numeric value.
Note: In the ASCII standard, all uppercase letters appear before any
lowercase letters. In the EBCDIC standard, the opposite is true: all
lowercase letters appear before any uppercase letters.
When characters used in other languages are present, a binary sort
usually does not produce reasonable results. For example, an ascending
ORDER BY query returns the character strings ABC, ABZ, BCD, ÄBC, when
Ä has a higher numeric value than B in the character encoding scheme.
A binary sort is not usually linguistically meaningful for Asian
languages that use ideographic characters.
So basically it the same result for english as alfabetically sorting..
Nice..
Any standard sort routine should work, as long as you ensure the characters are treated as bytes.

Resources