問題已解決
通過alwaysScrollableVertical和alwaysScrollableHorizontal屬性控制
文檔里面沒有描述這個屬性控制,通過查看weex sdk源代碼里面有這個屬性
keng die ........
beforeEach必須要執(zhí)行了next()才會執(zhí)行下面的代碼,你設置導航路由鉤子時那個store.state.isLogin是為true嗎
push
會將前面的頁面url壓到瀏覽器history
棧中,只顯示最后一個。dva
的effects
就是同步執(zhí)行的。
構造樹,子節(jié)點的值必須大于等于其父節(jié)點的值,然后求所有子節(jié)點的到達路徑。
|
|-31(第一節(jié))
| |-31(一)
| | |-31((一))
| | |-32((二))
| |-33(二)
|-35(第二節(jié))
|-35(一)
| |-35((一))
|-36(二)
|-36((一))
沒找到,reset一下設置到默認狀態(tài)。
找到了再來更吧!
join是等待線程結束,
至于一個線程或是兩個線程出錯,要怎么重啟,
如果線程出錯是異常,可以這樣做
class ExceptionThread(threading.Thread):
def __init__(self, group=None, target=None, name=None, args=(), kwargs=None, verbose=None):
"""
Redirect exceptions of thread to an exception handler.
"""
threading.Thread.__init__(self, group, target, anme, args, kwargs, verbose)
if kwargs is None:
kwargs = {}
self._target = target
self._args = args
self._kwargs = kwargs
self._exc = None
def run(self):
try:
if self._target:
except BaseException as e:
import sys
self._exc = sys.exc_info()
finally:
#Avoid a refcycle if the thread is running a function with
#an argument that has a member that points to the thread.
del self._target, self._args, self._kwargs
def join(self):
threading.Thread.join(self)
if self._exc:
msg = "Thread '%s' threw an exception: %s" % (self.getName(), self._exc[1])
new_exc = Exception(msg)
raise new_exc.__class__, new_exc, self._exc[2]
t = ExceptionThread(target=my_func, name='my_thread', args=(arg1, arg2, ))
t.start()
try:
t.join()
except:
print 'Caught an exception'
join(timeout=None)
Wait until the thread terminates. This blocks the calling thread until the thread whose join() method is called terminates – either normally or through an unhandled exception – or until the optional timeout occurs.
def foo(s):
if not s:
return 0
length = len(s)
if length == 1:
return s[0]
exp = '(' + str(s[0]) + ')'
for i in range(1, length):
if s[i-1] < s[i] and s[i-1] != 0:
op = '*'
else:
op = '+'
exp = exp + op + '(' + str(s[i]) + ')'
print(eval(exp))
>>> foo([4])
4
>>> foo([])
0
>>> foo([10, 2])
12
>>> foo([2, 10])
20
>>> foo([2, 100, 3, 10, 4])
234
>>> foo([2, 100, 0, 5])
205
>>> foo([-3, -10, -1])
7
中文數(shù)字轉阿拉伯數(shù)字(遞歸版本)
d = { '一': 1, '二': 2, '三': 3, '四': 4, '五': 5, '六': 6, '七': 7, '八': 8, '九': 9}
def _trans(s):
num = 0
if s:
idx_q, idx_b, idx_s = s.find('千'), s.find('百'), s.find('十')
if idx_q != -1:
num += d[s[idx_q-1:idx_q]] * 1000
if idx_b != -1:
num += d[s[idx_b-1:idx_b]] * 100
if idx_s != -1:
# 一十的一可被省略
num += d.get(s[idx_s-1:idx_s], 1) * 10
if s[-1] in d:
num += d[s[-1]]
return num
def trans(chn):
chn = chn.replace('零', '')
idx_y = chn.rfind('億')
idx_w = chn.rfind('萬')
if idx_y > idx_w:
idx_w = -1
num_y = 100000000
num_w = 10000
if idx_y != -1 and idx_w != -1:
return trans(chn[:idx_y])*num_y + _trans(chn[idx_y+1:idx_w])*num_w + _trans(chn[idx_w+1:])
elif idx_y != -1:
return trans(chn[:idx_y])*num_y + _trans(chn[idx_y+1:])
elif idx_w != -1:
return _trans(chn[:idx_w])*num_w + _trans(chn[idx_w+1:])
return _trans(chn)
print(1,trans('一萬億二千一百萬零一百零一')) # 1000021000101
print(2,trans('一萬億零二千一百零一')) # 1000000002101
print(3,trans('二千一百零一')) # 2101
print(4,trans('三十五萬六千一百')) # 356100
print(5,trans('二億三十萬六千一百')) # 200306100
print(6,trans('二億億三十萬六千一百')) # 20000000000306100
print(7,trans('十')) # 10
print(8,trans('三百零五')) # 305
print(9,trans('一億零二百三十萬億四千零五十六萬七千八百九十')) # 10230000040567890
tableData = [
['apples', 'oranges', 'cherries', 'banana'],
['Alice', 'Bob', 'Carol', 'David'],
['dogs', 'cats', 'moose', 'goose']
]
def print_table(data):
col_width = [max(len(item) for item in col) for col in data]
for row_idx in range(len(data[0])):
for col_idx, col in enumerate(data):
item = col[row_idx]
align = '<' if not col_idx==0 else '>'
print(('{:'+align+str(col_width[col_idx])+'}').format(item), end=' ')
print()
print_table(tableData)
結果:
apples Alice dogs
oranges Bob cats
cherries Carol moose
banana David goose
我回答過的問題: Python-QA
/*
* Amount2RMB.java 2008-6-15
*/
package test;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class Amount2RMB {
private static final Pattern AMOUNT_PATTERN =
Pattern.compile("^(0|[1-9]\\d{0,11})\\.(\\d\\d)$"); // 不考慮分隔符的正確性
private static final char[] RMB_NUMS = "零壹貳叁肆伍陸柒捌玖".toCharArray();
private static final String[] UNITS = {"元", "角", "分", "整"};
private static final String[] U1 = {"", "拾", "佰", "仟"};
private static final String[] U2 = {"", "萬", "億"};
/**
* 將金額(整數(shù)部分等于或少于12位,小數(shù)部分2位)轉換為中文大寫形式.
* @param amount 金額數(shù)字
* @return 中文大寫
* @throws IllegalArgumentException
*/
public static String convert(String amount) throws IllegalArgumentException {
// 去掉分隔符
amount = amount.replace(",", "");
// 驗證金額正確性
if (amount.equals("0.00")) {
throw new IllegalArgumentException("金額不能為零.");
}
Matcher matcher = AMOUNT_PATTERN.matcher(amount);
if (! matcher.find()) {
throw new IllegalArgumentException("輸入金額有誤.");
}
String integer = matcher.group(1); // 整數(shù)部分
String fraction = matcher.group(2); // 小數(shù)部分
String result = "";
if (! integer.equals("0")) {
result += integer2rmb(integer) + UNITS[0]; // 整數(shù)部分
}
if (fraction.equals("00")) {
result += UNITS[3]; // 添加[整]
} else if (fraction.startsWith("0") && integer.equals("0")) {
result += fraction2rmb(fraction).substring(1); // 去掉分前面的[零]
} else {
result += fraction2rmb(fraction); // 小數(shù)部分
}
return result;
}
// 將金額小數(shù)部分轉換為中文大寫
private static String fraction2rmb(String fraction) {
char jiao = fraction.charAt(0); // 角
char fen = fraction.charAt(1); // 分
return (RMB_NUMS[jiao - '0'] + (jiao > '0' ? UNITS[1] : ""))
+ (fen > '0' ? RMB_NUMS[fen - '0'] + UNITS[2] : "");
}
// 將金額整數(shù)部分轉換為中文大寫
private static String integer2rmb(String integer) {
StringBuilder buffer = new StringBuilder();
// 從個位數(shù)開始轉換
int i, j;
for (i = integer.length() - 1, j = 0; i >= 0; i--, j++) {
char n = integer.charAt(i);
if (n == '0') {
// 當n是0且n的右邊一位不是0時,插入[零]
if (i < integer.length() - 1 && integer.charAt(i + 1) != '0') {
buffer.append(RMB_NUMS[0]);
}
// 插入[萬]或者[億]
if (j % 4 == 0) {
if (i > 0 && integer.charAt(i - 1) != '0'
|| i > 1 && integer.charAt(i - 2) != '0'
|| i > 2 && integer.charAt(i - 3) != '0') {
buffer.append(U2[j / 4]);
}
}
} else {
if (j % 4 == 0) {
buffer.append(U2[j / 4]); // 插入[萬]或者[億]
}
buffer.append(U1[j % 4]); // 插入[拾]、[佰]或[仟]
buffer.append(RMB_NUMS[n - '0']); // 插入數(shù)字
}
}
return buffer.reverse().toString();
}
public static void main(String[] args) {
// log4j?
System.out.println("壹萬陸仟肆佰零玖元零貳分".equals(convert("16,409.02")));
System.out.println("壹仟肆佰零玖元伍角".equals(convert("1,409.50")));
System.out.println("陸仟零柒元壹角肆分".equals(convert("6,007.14")));
System.out.println("壹仟陸佰捌拾元叁角貳分".equals(convert("1,680.32")));
System.out.println("叁佰貳拾伍元零肆分".equals(convert("325.04")));
System.out.println("肆仟叁佰貳拾壹元整".equals(convert("4,321.00")));
System.out.println("壹分".equals(convert("0.01")));
System.out.println(convert("1234,5678,9012.34")
.equals("壹仟貳佰叁拾肆億伍仟陸佰柒拾捌萬玖仟零壹拾貳元叁角肆分"));
System.out.println(convert("1000,1000,1000.10")
.equals("壹仟億零壹仟萬零壹仟元壹角"));
System.out.println(convert("9009,9009,9009.99")
.equals("玖仟零玖億玖仟零玖萬玖仟零玖元玖角玖分"));
System.out.println(convert("5432,0001,0001.01")
.equals("伍仟肆佰叁拾貳億零壹萬零壹元零壹分"));
System.out.println(convert("1000,0000,1110.00")
.equals("壹仟億零壹仟壹佰壹拾元整"));
System.out.println(convert("1010,0000,0001.11")
.equals("壹仟零壹拾億零壹元壹角壹分"));
System.out.println(convert("1000,0000,0000.01")
.equals("壹仟億元零壹分"));
}
}
linux下面有tree 命令哦,默認可能沒有安裝,自己搜索下。
express static
通過 Express 內置的 express.static 可以方便地托管靜態(tài)文件,例如圖片、CSS、JavaScript 文件等。
http://www.expressjs.com.cn/s...
你可以在validate里面定議__callStatic,在里面去調用Rule的對應方法
function __callStatic($method, $args) {
return Rule::{$method}($args);
}
PS:手寫未測試過 Rule::{$method)();這樣寫格式OK不
不能,因為路由器在轉發(fā)數(shù)據(jù)包的時候都會把源MAC地址改成自己的地址,而目標MAC地址就是你的上級路由器的MAC
1.你可以寫個服務來調用這個函數(shù),
2.進入另外一個頁面?指的是進入另外一個路由嗎?感覺上你用路由ui-router來配置,可以解決上述所有問題。
你應該用到spring的事務傳機制,也就是PROPAGATION_REQUIRED,
當然spring默認就是這個值,那可能出現(xiàn)的問題就是,拋出的異常是運行時異常,spring默認是不回滾運行時異常
運行javascript trigger 一個點擊事件
原因:浮點數(shù)的精度問題。
注意:
向下取整,即:12910.9
會被轉換為 12910
<?php
var_dump(intval(12910.9));
// 輸出
// int(12910)
浮點數(shù)精度
看如下執(zhí)行結果:
我們知道:$receive_money
值小于 12911
總結:所以,最后 $receive_money
轉換為整型時,向下取整,結果為:12910
參考:
這是由于浮點數(shù)的二進制表示形式?jīng)Q定的。
看如下示例:
我們看到第 9 行代碼 float(12911)
擴展整數(shù)位之后,轉換成整型表示:int(129109999)
。
然后,我們對比了 float(12911)
跟 int(12911)
在二進制上的差別。
是不是發(fā)現(xiàn)了什么?(二進制的最后一位)這是 PHP-bug
么?當然不是。
而且我們同樣也注意到了第 8 行代碼輸出結果為:float(129110000)
,這又是為什么呢?
為什么不是 float(129109999)
呢?
我們看一下 PHP
源碼中浮點數(shù)是什么:
如圖:php-float
等于 c-double
我想如下幾個問題可以解決上述的疑問:雙精度浮點數(shù)
的二進制形式是如何表示的呢? 請參考:wikipedia-雙精度浮點數(shù)
浮點數(shù)是如何處理乘法運算的呢? 請參考:wikipedia-浮點數(shù)的乘法和除法
如果上邊兩個問題不愿深究,可以直接參考鳥哥的一篇博客:PHP浮點數(shù)的一個常見問題的解答
以上為個人理解,如果錯誤之處,請指出。
先用單步調試看一下JavaScript有沒有執(zhí)行到,如果執(zhí)行到的話 等幾個小時再看看,一般部署后剛開始的幾天延遲會比較久,后邊就比較快了
北大青鳥APTECH成立于1999年。依托北京大學優(yōu)質雄厚的教育資源和背景,秉承“教育改變生活”的發(fā)展理念,致力于培養(yǎng)中國IT技能型緊缺人才,是大數(shù)據(jù)專業(yè)的國家
北大青鳥中博軟件學院創(chuàng)立于2003年,作為華東區(qū)著名互聯(lián)網(wǎng)學院和江蘇省首批服務外包人才培訓基地,中博成功培育了近30000名軟件工程師走向高薪崗位,合作企業(yè)超4
中公教育集團創(chuàng)建于1999年,經(jīng)過二十年潛心發(fā)展,已由一家北大畢業(yè)生自主創(chuàng)業(yè)的信息技術與教育服務機構,發(fā)展為教育服務業(yè)的綜合性企業(yè)集團,成為集合面授教學培訓、網(wǎng)
達內教育集團成立于2002年,是一家由留學海歸創(chuàng)辦的高端職業(yè)教育培訓機構,是中國一站式人才培養(yǎng)平臺、一站式人才輸送平臺。2014年4月3日在美國成功上市,融資1
浪潮集團項目經(jīng)理。精通Java與.NET 技術, 熟練的跨平臺面向對象開發(fā)經(jīng)驗,技術功底深厚。 授課風格 授課風格清新自然、條理清晰、主次分明、重點難點突出、引人入勝。
曾工作于聯(lián)想擔任系統(tǒng)開發(fā)工程師,曾在博彥科技股份有限公司擔任項目經(jīng)理從事移動互聯(lián)網(wǎng)管理及研發(fā)工作,曾創(chuàng)辦藍懿科技有限責任公司從事總經(jīng)理職務負責iOS教學及管理工作。
精通HTML5和CSS3;Javascript及主流js庫,具有快速界面開發(fā)的能力,對瀏覽器兼容性、前端性能優(yōu)化等有深入理解。精通網(wǎng)頁制作和網(wǎng)頁游戲開發(fā)。
具有10 年的Java 企業(yè)應用開發(fā)經(jīng)驗。曾經(jīng)歷任德國Software AG 技術顧問,美國Dachieve 系統(tǒng)架構師,美國AngelEngineers Inc. 系統(tǒng)架構師。