eCalculator

A powerful calculator.

什麼是eCalculator?

eCalculator是由http://egust.altervista.org開發的Chrome擴展程式,該擴展的主要功能是“A powerful calculator.”。

擴展截圖

screenshot
screenshot

下載eCalculator擴展crx文件

下載eCalculator擴展crx格式的文件,手動將Chrome擴充功能安裝到瀏覽器中,也可以將crx文件分享給朋友,輕鬆安裝Chrome擴充功能。

擴展使用說明

                        Basic Operations:
Input expression, press ENTER or click the C button.
Press ESC to clear the input text.
Press UP/DOWN to select history input.
Click the result number to put it to input text.

Numbers:
Decimal by default.
Prefix 0b for binary.
Prefix 0x for hex.
Underscore _ can be in a number ( exp. 10_000 ).

Strings:
Single/double quoted like 'abc' "str"
Use "\" to escape special characters, like
\'	single quotation mark
\"	double quotation mark
\\	reverse solidus
\/	solidus
\n	newline
\t	horizontal tab
\u????	4 hex digits to represent a unicode char.
\b	*backspace
\f	*formfeed
\r	*carriage return

* Those characters are not displayed in the screen.
NOTE
Actually it uses JSON's string format with additional "\'".
You must follow its syntax or get an error.
For more information you can visit http://json.org/

Currently supported operators
Basic:
+ : Plus (+)
- : Minus (−)
* : Times (×)
/ : Divide (÷)
% : Module
Extanded:
** : Power
// : Integer Divide
*/ : N-Power's Root: a */ b == a ** (1/b)
Bitwise (integers only):
~ : Bitwise NOT
& : Bitwise AND
| : Bitwise OR
^ : Bitwise XOR
Logical (true = 1, false = 0):
! : Logical NOT
&& : Logical  AND
|| : Logical  OR
Relational (true = 1, false = 0):
== : Equal
!= : Not equal
> : Greater than
< : Less than
>= : Greater than or Equal to
<= : Less than or Equal to
Quest (lazy version):
condition ? true value : false value
for exp.
  1 >= 2 ? 10 : 20  =>  20
  1 ? 2 ? 3 : 4 : 5 ? 6 : 7  =  1 ? (2 ? 3 : 4) : (5 ? 6 : 7)
Operator Orders
Use ( and ) to promote orders.
1	** */
2	* / % //
3	+ -
4	~ & | ^
5	! && ||
6	== != > < >= <=
7	? :
Variable, Constants and Functions
Assign Variable:
=	a = ...
a = b = 3	=>	a = (b = 3)
a = 1 + (b = 2)	=> a = 3, b = 2
[*] A variable could be assigned to a function.
Constants:
E:	2.7182818...
PI:	3.1415926...
Functions:
abs:	absolute value
ln:	log based on E
lg lg10 log10:	log based on 10
lg2 log2:	log based on 2
log:	log(number, base)
sin, cos, tan/tg, ctan/ctg:	Triangle functions
ord/chr:	convert between char and code.
signed/unsigned:	convert interger to signed/unsigned.
Infix/Postfix Notation
Infix (shortcut Ctrl+I):
#{IN: 1+2}
#{IN: 9*8-7/6}
Postfix (shortcut Ctrl+R):
#{RPN: 1 2 +}
#{RPN: 9 8 * 7 6 / -}
Mix up:
#{RPN: 1 #{IN: 2+3} +}
#{IN: 2+#{RPN: 9 8 * 7 6 / -}}
Postfix Notation Syntax
Operators:
Unary:
~	#{RPN: 1 ~}
!	#{RPN: 0 !}
Not supported for conflict reason:
	+	-
( Should use 0 and binary operators like #{RPN: 0 1 -} )

Binary:
All supported. e.g.
#{IN: 6*7+8/(9-5)} equals to #{RPN: 6 7 * 8 9 5 - / +}

Trinary:
#{IN: a ? b : c} equals to #{RPN: a b c ?} . No colon(:)
Whitespaces and Commas
Whitespaces are not necessary while no conflict. For ins.,
#{RPN: 6 7 * 8 9 5 - / +} could be #{RPN:6 7*8 9 5-/+}

Comma(,)s are ignored in RPN mode. So you can use them instead of whitespaces. For exp.,
#{RPN:6 7*8 9 5-/+} could be #{RPN:6,7*,8,9 5,-,/,,+}
Function call:
fn(args...) equals to (args... fn), but no comma(,)s joined into the arguments.

e.g.
#{IN: log(n, b) } equals to #{RPN: ( n b log ) }
#{IN: ord(c)} equals to #{RPN: (c ord) }
#{IN: log(8**4, 6-2)} equals to #{RPN:(8 4**,6 2-,log)}                    

擴展基本資訊

名稱 eCalculator eCalculator
ID cbndjehbagkahkpmoikoecfeokkjbncc
官方網址 https://chrome.google.com/webstore/detail/ecalculator/cbndjehbagkahkpmoikoecfeokkjbncc
簡介 A powerful calculator.
檔案大小 133 KB
安裝次數 207
目前版本 0.7.0
更新時間 2015-08-06
上架時間 2015-08-06
評分 4.13/5 共 8 次評分
開發者 http://egust.altervista.org
付費類型 free
支援的語言 en-US
manifest.json
{
    "update_url": "https:\/\/clients2.google.com\/service\/update2\/crx",
    "manifest_version": 2,
    "name": "eCalculator",
    "version": "0.7.0",
    "description": "A powerful calculator.",
    "content_security_policy": "script-src 'self' 'unsafe-eval'; object-src 'self'",
    "icons": {
        "128": ".\/icons\/calc.png",
        "64": ".\/icons\/calc-64.png",
        "48": ".\/icons\/calc-48.png",
        "32": ".\/icons\/calc-32.png",
        "38": ".\/icons\/calc-38.png",
        "24": ".\/icons\/calc-24.png",
        "16": ".\/icons\/calc-16.png",
        "19": ".\/icons\/calc-19.png"
    },
    "browser_action": {
        "default_icon": ".\/icons\/calc-19.png",
        "default_popup": "index.html"
    },
    "permissions": [
        "storage"
    ],
    "optional_permissions": [
        "tabs",
        "storage"
    ],
    "options_page": "options.html",
    "offline_enabled": true,
    "author": "eGust"
}